summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@sbcglobal.net>2014-11-16 03:33:12 -0500
committerLuke Shumaker <lukeshu@sbcglobal.net>2014-11-16 03:33:12 -0500
commit4503e3cf26c00f856a1a5a4ed63a193d7800b7d0 (patch)
tree4fa4b9ed58eb365e3afaa4619c3d2acbb50dc2d4
parent14463101d5acc7a3f85df15b9229f5798145299a (diff)
Makefile: touch up
- rename $(package_*) to $(packages_*), move them higher in the file - touch up whitespace on the download: rule - filter workdir from impacting any of the deps2* funcs (_sanitize_deps) - rename intermediate funcs for deps2{class,}path to start with '_' - split $(recurse) into multiple lines
-rw-r--r--Makefile30
1 files changed, 18 insertions, 12 deletions
diff --git a/Makefile b/Makefile
index fcd41fd..03a7b36 100644
--- a/Makefile
+++ b/Makefile
@@ -45,13 +45,16 @@ export JAR_DIR := $(shell $(CAT) conf/jardir.txt)
# Post-processing for conf/sources.mk
packages := $(filter-out _%,$(variables))
+packages_specific=$(filter $(patsubst rules/%/Makefile,%,$(wildcard rules/*/Makefile)),$(packages))
+packages_generic =$(filter-out $(packages_specific) $(packages_stub),$(packages))
+
specs := $(foreach variable,$(variables),$(if $(findstring |,$($(variable))),$($(variable))))
tarbombs := $(addprefix build/extract/,$(call spec2,base,$(_tarbombs)))
# download #####################################################################
download: PHONY \
- $(addprefix build/download/, \
+ $(addprefix build/download/, \
$(call spec2,base,$(call specs_for,git tar)) \
$(call spec2,file,$(call specs_for,svn)) )
@@ -174,25 +177,28 @@ $(foreach package,$(packages),$(eval \
package: PHONY $(addprefix build/packages/,$(packages))
-package_specific=$(filter $(patsubst rules/%/Makefile,%,$(wildcard rules/*/Makefile)),$(packages))
-package_generic =$(filter-out $(patsubst rules/%/Makefile,%,$(wildcard rules/*/Makefile)),$(packages))
+_sanitize_deps = $(filter-out build/workdir/%,$1)
-dirs2jars = $(if $1,$(shell $(FIND) $1 -name '*.jar'))
-deps2jars = $(filter %.jar,$1) $(call dirs2jars,$(filter build/packages/%,$1))
-deps2classpath = $(shell $(ECHO) $(abspath $(call deps2jars,$1)) $(CLASSPATH) | $(SED) 'y/ /:/')
+_dirs2jars = $(if $1,$(shell $(FIND) $1 -name '*.jar'))
+_deps2jars = $(filter %.jar,$1) $(call _dirs2jars,$(filter build/packages/%,$1))
+deps2classpath = $(shell $(ECHO) $(abspath $(call _deps2jars,$(call _sanitize_deps,$1))) $(CLASSPATH) | $(SED) 'y/ /:/')
-deps2bindirs = $(if $1,$(sort $(shell $(FIND) $1 -type f -executable -printf '%h\n' 2>/dev/null)))
-sanitize_bindirs = $(filter-out $(subst :, ,$(PATH)),$(abspath $1))
-deps2path = $(shell $(ECHO) $(call sanitize_bindirs,$(call deps2bindirs,$1)) $(PATH) | $(SED) 'y/ /:/')
+_deps2bindirs = $(if $1,$(sort $(shell $(FIND) $1 -type f -executable -printf '%h\n' 2>/dev/null)))
+_sanitize_bindirs = $(filter-out $(subst :, ,$(PATH)),$(abspath $1))
+deps2path = $(shell $(ECHO) $(call _sanitize_bindirs,$(call _deps2bindirs,$(call _sanitize_deps,$1))) $(PATH) | $(SED) 'y/ /:/')
-recurse = PATH='$(call deps2path,$^)' CLASSPATH='$(call deps2classpath,$^)' extra_makefiles='$(abspath $(wildcard rules/$*/*.mk))' $(MAKE) -C build/workdir/$* -f '$1' install DESTDIR='$(top)/$@' && $(EXISTS) '$@'
+recurse = \
+ PATH='$(call deps2path,$^)' \
+ CLASSPATH='$(call deps2classpath,$^)' \
+ extra_makefiles='$(abspath $(wildcard rules/$*/*.mk))' \
+ $(MAKE) -C build/workdir/$* -f '$1' install DESTDIR='$(top)/$@' && $(EXISTS) '$@'
-$(addprefix build/packages/,$(package_specific)): \
+$(addprefix build/packages/,$(packages_specific)): \
build/packages/%: RECURSIVE build/workdir/% rules/%/Makefile
for dep in $(filter-out RECURSIVE,$^); do $(EXISTS) $$dep || { $(RM) -r '$@'; $(FAIL); }; done
$(call recurse,$(top)/rules/$*/Makefile) || { $(RM) -r '$@'; $(FAIL); }
-$(addprefix build/packages/,$(package_generic)): \
+$(addprefix build/packages/,$(packages_generic)): \
build/packages/%: RECURSIVE build/workdir/% rules/_generic/Makefile
for dep in $(filter-out RECURSIVE,$^); do $(EXISTS) $$dep || { $(RM) -r '$@'; $(FAIL); }; done
$(call recurse,$(top)/rules/_generic/Makefile) || { $(RM) -r '$@'; $(FAIL); }