[patch] restructure dependencies in Makefile

ameer armaly ameer at charter.net
Wed May 5 21:42:30 EDT 2004


Hi all.
This patch restructures the dependencies for genmap so that they're more
automatic, by relying more on  Implicit  Rules, and makes speakupmain.o
actually depend on speakupmain-objes.  It worked fine for me with
2.6.6-rc3.
Thanks,



Ameer
-------------- next part --------------
--- Makefile.orig	2004-05-05 21:39:03.000000000 -0400
+++ Makefile	2004-05-05 21:38:02.000000000 -0400
@@ -4,7 +4,8 @@
 
 V := $(shell awk '/UTS_RELEASE/ {print substr($$3,2,3)}' $(TOPDIR)/include/linux/version.h)
 #V := $(shell awk '/UTS_RELEASE/ {print substr($$3,2,3)}' include/linux/version.h)
-ifeq ($V,2.4)
+ ifeq ($V,2.4)
+
 # Note! Dependencies are done automagically by 'make dep', which also
 # removes any old dependencies. DON'T put your own dependencies here
 # unless it's something special (ie not a .c file).
@@ -12,6 +13,7 @@
 # Note 2! The CFLAGS definitions are now inherited from the
 # parent makes..
 #
+
 O_TARGET       := spk.o
 export-objs    := speakup_drvcommon.o speakup.o
 endif
@@ -26,28 +28,22 @@
 obj-$(CONFIG_SPEAKUP_DECEXT)	+= speakup_decext.o
 obj-$(CONFIG_SPEAKUP_DECPC)	+= speakup_decpc.o
 obj-$(CONFIG_SPEAKUP_DECTLK)	+= speakup_dectlk.o
-obj-$(CONFIG_SPEAKUP_DTLK)	+= speakup_dtlk.o
+/obj-$(CONFIG_SPEAKUP_DTLK)	+= speakup_dtlk.o
 obj-$(CONFIG_SPEAKUP_KEYPC)	+= speakup_keypc.o
 obj-$(CONFIG_SPEAKUP_LTLK)	+= speakup_ltlk.o
 obj-$(CONFIG_SPEAKUP_SFTSYN)	+= speakup_sftsyn.o
 obj-$(CONFIG_SPEAKUP_SPKOUT)	+= speakup_spkout.o
 obj-$(CONFIG_SPEAKUP_TXPRT)	+= speakup_txprt.o
-
 ifeq ($V,2.4)
-	include $(TOPDIR)/Rules.make
-
-speakupmap.h: speakupmap.map genmap
-	./genmap speakupmap.map >$@
 
-genmap: genmap.c mapdata.h
-	cc -o genmap genmap.c
-
-mapdata.h: makemapdata.c keyinfo.h
-	cc -o makemapdata makemapdata.c
-	./makemapdata >mapdata.h
+	include $(TOPDIR)/Rules.make
 
-endif	
-speakupmain.o:speakup.o speakup_drvcommon.o
+endif#we put all the various deps for genmap here
+speakupmap.h:genmap mapdata.h keyinfo.h makemapdata speakupmap.map
+		genmap speakupmap.map >speakupmap.h
+mapdata.h:makemapdata keyinfo.h
+	makemapdata  >mapdata.h
+speakupmain.o:$(speakupmain-objes)
 	ld -r -o speakupmain.o speakup.o speakup_drvcommon.o
 
 $(obj)/speakupmap.h: $(src)/speakupmap.map $(src)/genmap


More information about the Speakup mailing list