patch-1.3.7 linux/drivers/scsi/Makefile

Next file: linux/drivers/scsi/aha152x.h
Previous file: linux/drivers/scsi/53c7,8xx.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v1.3.6/linux/drivers/scsi/Makefile linux/drivers/scsi/Makefile
@@ -24,6 +24,14 @@
 	-O2 -fomit-frame-pointer -m486
 
 include ../../.config
+
+.EXPORT_ALL_VARIABLES:
+
+SYMTAB_OBJS = scsi_syms.o
+
+TOPDIR = ../..
+include ../../versions.mk
+
 endif
 
 SCSI_OBJS =
@@ -36,6 +44,10 @@
 ifdef CONFIG_SCSI
 SCSI_OBJS := hosts.o scsi.o scsi_ioctl.o constants.o scsicam.o scsi_proc.o
 else
+ifdef CONFIG_MODVERSIONS
+# Create this before we build anything else.
+SCSI_MODULE_VER := scsi_syms.ver
+endif
 SCSI_MODULE_OBJS := $(SCSI_MODULE_OBJS) scsi_mod.o
 endif
 
@@ -235,17 +247,19 @@
 	mv scriptu.h 53c8xx_u.h
 	rm fake.c
 
-scsi_mod.o: hosts.o scsi.o scsi_ioctl.o constants.o scsicam.o scsi_proc.o
-	$(LD) $(LD_RFLAG) -r -o $@ hosts.o scsi.o scsi_ioctl.o constants.o scsicam.o scsi_proc.o
+scsi_mod.o: $(SCSI_MODULE_VER) hosts.o scsi.o scsi_ioctl.o constants.o \
+		scsicam.o scsi_proc.o $(SYMTAB_OBJS)
+	$(LD) $(LD_RFLAG) -r -o $@ hosts.o scsi.o scsi_ioctl.o constants.o scsicam.o scsi_proc.o $(SYMTAB_OBJS)
 
-sr_mod.o: sr.o sr_ioctl.o
+sr_mod.o: $(SCSI_MODULE_VER) sr.o sr_ioctl.o
 	$(LD) $(LD_RFLAG) -r -o $@ sr.o sr_ioctl.o
 
-sd_mod.o: sd.o sd_ioctl.o
+sd_mod.o: $(SCSI_MODULE_VER) sd.o sd_ioctl.o
 	$(LD) $(LD_RFLAG) -r -o $@ sd.o sd_ioctl.o
 
+$(SYMTAB_OBJS): $(SYMTAB_OBJS:.o=.c)
 
-modules: $(SCSI_MODULE_OBJS)
+modules: $(SCSI_MODULE_VER) $(SCSI_MODULE_OBJS)
 	echo $(SCSI_MODULE_OBJS) > ../../modules/SCSI_MODULES
 	(cd ../../modules;for i in $(SCSI_MODULE_OBJS); do ln -sf ../drivers/scsi/$$i .; done)
 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov with Sam's (original) version
of this