Makefile changes for kernel add-ons

Robert Riggs (rriggs@tesser.com)
Wed, 17 Apr 1996 13:16:41 -0600 (MDT)


I made the following changes to the kernel Makefile in order to
keep track of which kernel I am running, and also to allow
multiple module sets for add-ons which create modules that are
incompatible with a stock kernel (such as the pentium-memcpy).
With this patch in, I no longer need to recompile modules
or muck about with renaming module directories (which I often
forget) when making kernel changes. I can now boot any kernel
and not have to worry about which version the modules are
compiled for.

--- linux/Makefile.orig Wed Apr 17 13:04:07 1996
+++ linux/Makefile Wed Apr 17 13:01:41 1996
@@ -1,6 +1,7 @@
VERSION = 1
PATCHLEVEL = 3
SUBLEVEL = 90
+ADDON =

ARCH = i386

@@ -224,7 +225,7 @@
@mv -f .ver $@

include/linux/version.h: ./Makefile
- @echo \#define UTS_RELEASE \"$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)\" > .ver
+ @echo \#define UTS_RELEASE \"$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(ADDON)\" >
.ver
@echo \#define LINUX_VERSION_CODE `expr $(VERSION) \\* 65536 + $(PATCHLEVEL) \
\* 256 + $(SUBLEVEL)` >> .ver
@mv -f .ver $@

@@ -269,7 +270,7 @@

modules_install:
@( \
- MODLIB=/lib/modules/$(VERSION).$(PATCHLEVEL).$(SUBLEVEL); \
+ MODLIB=/lib/modules/$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(ADDON); \
cd modules; \
MODULES=""; \
inst_mod() { These="`cat $$1`"; MODULES="$$MODULES $$These"; \

I also added the following patch to the end of Robert Krawitz's
memcpy patch:

--- linux/Makefile.orig Wed Apr 17 12:53:10 1996
+++ linux/Makefile Wed Apr 17 12:53:47 1996
@@ -3,6 +3,8 @@
SUBLEVEL = 90
ADDON =

+ADDON := $(ADDON)+Mem
+
ARCH = i386

#

And likewise to the NcrBsd Driver from Gerard Roudier:

--- linux/Makefile.orig Wed Apr 17 12:53:10 1996
+++ linux/Makefile Wed Apr 17 12:53:47 1996
@@ -3,6 +3,8 @@
SUBLEVEL = 90
ADDON =

+ADDON := $(ADDON)+Bsd
+
ARCH = i386

#

These give me the following UTS name and modules directory:

Linux diamond 1.3.90+Bsd+Mem #1 Wed Apr 17 02:30:24 MDT 1996 i586
/lib/modules/1.3.90+Bsd+Mem

Comments?

Rob,
(rriggs@tesser.com)