summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafaël Carré <rafael.carre@gmail.com>2010-08-21 18:07:12 +0000
committerRafaël Carré <rafael.carre@gmail.com>2010-08-21 18:07:12 +0000
commit27c509fc552013ba07e80cfcee1be1e8bf813dbc (patch)
treea8669c8c188236833a7a53994613b511264daf5a
parentf30add4dc08fe63b8417a4e63203649a3434d0f4 (diff)
downloadrockbox-27c509fc552013ba07e80cfcee1be1e8bf813dbc.tar.gz
rockbox-27c509fc552013ba07e80cfcee1be1e8bf813dbc.zip
makefiles
- some functions don't need to return their output, drop $(shell ... ) and prefix with $(SILENT), make V=1 will show the complete scripts being run - tweak make.dep generation: make the temporary file appear in root.make only, and remove a useless "real command", there is already a real command (mv) - make addtargetdir.pl terminate its output with a newline ($(shell) did that for us) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27855 a1c6a512-1295-4272-9138-f99709370657
-rwxr-xr-xtools/addtargetdir.pl1
-rw-r--r--tools/functions.make20
-rw-r--r--tools/root.make13
3 files changed, 16 insertions, 18 deletions
diff --git a/tools/addtargetdir.pl b/tools/addtargetdir.pl
index 6a9a72a878..bf5fe8a144 100755
--- a/tools/addtargetdir.pl
+++ b/tools/addtargetdir.pl
@@ -39,3 +39,4 @@ for (split(/[\s\\]+/m, <STDIN>)) {
39 print " \\\n $src"; 39 print " \\\n $src";
40 } 40 }
41} 41}
42print "\n";
diff --git a/tools/functions.make b/tools/functions.make
index 748263359e..0d8518c0ff 100644
--- a/tools/functions.make
+++ b/tools/functions.make
@@ -22,33 +22,31 @@ preprocess = $(shell $(CC) $(PPCFLAGS) $(2) -E -P -x c -include config.h $(1) |
22 grep -v '^\#' | \ 22 grep -v '^\#' | \
23 sed -e 's:^..*:$(dir $(1))&:') 23 sed -e 's:^..*:$(dir $(1))&:')
24 24
25preprocess2file = $(shell $(CC) $(PPCFLAGS) $(3) -E -P -x c -include config.h $(1) | \ 25preprocess2file = $(SILENT)$(CC) $(PPCFLAGS) $(3) -E -P -x c -include config.h $(1) | \
26 grep -v '^\#' | grep -v "^$$" > $(2)) 26 grep -v '^\#' | grep -v "^$$" > $(2)
27 27
28asmdefs2file = $(shell $(CC) $(PPCFLAGS) $(3) -S -x c -o - -include config.h $(1) | \ 28asmdefs2file = $(SILENT)$(CC) $(PPCFLAGS) $(3) -S -x c -o - -include config.h $(1) | \
29 perl -ne 'if(/^_?AD_(\w+):$$/){$$var=$$1}else{/^\W\.(?:word|long)\W(.*)$$/ && $$var && print "\#define $$var $$1\n";$$var=0}' > $2) 29 perl -ne 'if(/^_?AD_(\w+):$$/){$$var=$$1}else{/^\W\.(?:word|long)\W(.*)$$/ && $$var && print "\#define $$var $$1\n";$$var=0}' > $(2)
30 30
31c2obj = $(addsuffix .o,$(basename $(subst $(ROOTDIR),$(BUILDDIR),$(1)))) 31c2obj = $(addsuffix .o,$(basename $(subst $(ROOTDIR),$(BUILDDIR),$(1))))
32 32
33# calculate dependencies for a list of source files $(2) and output them 33# calculate dependencies for a list of source files $(2) and output them to $(1)
34# to a file $(1)_, to be later renamed to $(1). 34mkdepfile = $(SILENT)perl $(TOOLSDIR)/multigcc.pl $(CC) $(PPCFLAGS) $(OTHER_INC) -MG -MM -include config.h -- $(2) | \
35mkdepfile = $(shell \
36 perl $(TOOLSDIR)/multigcc.pl $(CC) $(PPCFLAGS) $(OTHER_INC) -MG -MM -include config.h -- $(2) | \
37 sed -e "s: lang.h: lang/lang.h:" \ 35 sed -e "s: lang.h: lang/lang.h:" \
38 -e 's:_asmdefs.o:_asmdefs.h:' \ 36 -e 's:_asmdefs.o:_asmdefs.h:' \
39 -e "s: max_language_size.h: lang/max_language_size.h:" | \ 37 -e "s: max_language_size.h: lang/max_language_size.h:" | \
40 $(TOOLSDIR)/addtargetdir.pl $(ROOTDIR) $(BUILDDIR) \ 38 $(TOOLSDIR)/addtargetdir.pl $(ROOTDIR) $(BUILDDIR) \
41 >> $(1)_) 39 >> $(1)
42 40
43# function to create .bmp dependencies 41# function to create .bmp dependencies
44bmpdepfile = $(shell \ 42bmpdepfile = $(SILENT) \
45 for each in $(2); do \ 43 for each in $(2); do \
46 obj=`echo $$each | sed -e 's/\.bmp/.o/' -e 's:$(ROOTDIR):$(BUILDDIR):'`; \ 44 obj=`echo $$each | sed -e 's/\.bmp/.o/' -e 's:$(ROOTDIR):$(BUILDDIR):'`; \
47 src=`echo $$each | sed -e 's/\.bmp/.c/' -e 's:$(ROOTDIR):$(BUILDDIR):'`; \ 45 src=`echo $$each | sed -e 's/\.bmp/.c/' -e 's:$(ROOTDIR):$(BUILDDIR):'`; \
48 echo $$obj: $$src; \ 46 echo $$obj: $$src; \
49 echo $$src: $$each; \ 47 echo $$src: $$each; \
50 done \ 48 done \
51 >> $(1); ) 49 >> $(1)
52 50
53ifndef V 51ifndef V
54SILENT:=@ 52SILENT:=@
diff --git a/tools/root.make b/tools/root.make
index 6ed1fc343b..4aff793abc 100644
--- a/tools/root.make
+++ b/tools/root.make
@@ -110,12 +110,11 @@ $(RBINFO): $(BUILDDIR)/$(BINARY)
110 110
111$(DEPFILE) dep: 111$(DEPFILE) dep:
112 $(call PRINTS,Generating dependencies) 112 $(call PRINTS,Generating dependencies)
113 @echo foo > /dev/null # there must be a "real" command in the rule 113 $(call mkdepfile,$(DEPFILE)_,$(SRC))
114 $(call mkdepfile,$(DEPFILE),$(SRC)) 114 $(call mkdepfile,$(DEPFILE)_,$(OTHER_SRC:%.lua=))
115 $(call mkdepfile,$(DEPFILE),$(OTHER_SRC:%.lua=)) 115 $(call mkdepfile,$(DEPFILE)_,$(ASMDEFS_SRC))
116 $(call mkdepfile,$(DEPFILE),$(ASMDEFS_SRC)) 116 $(call bmpdepfile,$(DEPFILE)_,$(BMP) $(PBMP))
117 @mv $(DEPFILE)_ $(DEPFILE) 117 @mv $(DEPFILE)_ $(DEPFILE)
118 $(call bmpdepfile,$(DEPFILE),$(BMP) $(PBMP))
119 118
120bin: $(DEPFILE) $(TOOLS) $(BUILDDIR)/$(BINARY) $(RBINFO) 119bin: $(DEPFILE) $(TOOLS) $(BUILDDIR)/$(BINARY) $(RBINFO)
121rocks: $(DEPFILE) $(TOOLS) $(ROCKS) 120rocks: $(DEPFILE) $(TOOLS) $(ROCKS)
@@ -220,8 +219,8 @@ $(BUILDDIR)/rombox.ucl: $(BUILDDIR)/rombox.bin $(MAXOUTFILE)
220 219
221$(MAXOUTFILE): 220$(MAXOUTFILE):
222 $(call PRINTS,Creating $(@F)) 221 $(call PRINTS,Creating $(@F))
223 $(SILENT)$(shell echo '#include "config.h"' > $(MAXINFILE)) 222 $(SILENT)echo '#include "config.h"' > $(MAXINFILE)
224 $(SILENT)$(shell echo "ROM_START" >> $(MAXINFILE)) 223 $(SILENT)echo "ROM_START" >> $(MAXINFILE)
225 $(call preprocess2file,$(MAXINFILE),$(MAXOUTFILE)) 224 $(call preprocess2file,$(MAXINFILE),$(MAXOUTFILE))
226 $(SILENT)rm $(MAXINFILE) 225 $(SILENT)rm $(MAXINFILE)
227 226