diff options
author | Luke Shumaker <LukeShu@sbcglobal.net> | 2012-12-07 15:11:10 -0500 |
---|---|---|
committer | Luke Shumaker <LukeShu@sbcglobal.net> | 2012-12-09 14:20:48 -0500 |
commit | d3486f6c1aa38be431f865e406e4cddd69d88d59 (patch) | |
tree | 5e0856123d80c74cc8d4c879a85d79f127d0964e /Makefile | |
parent | 056aac864aaa989a17703857e8e0e9b67726fc22 (diff) |
make the Makefile(s)... mortal-friendly
I did this by making the assumption that the files in a directory are
dividable into 2 groups: those that are executable, and those that aren't, and
that all of the files in each group all go in the same folder when
installed.
These install directories are configurable per source directory with
$(libre_execdir) and $(libre_datadir)
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 46 |
1 files changed, 15 insertions, 31 deletions
@@ -15,52 +15,36 @@ docdir=$(datarootdir)/doc ################################################################################ +# these are directories pseudo-packages=abslibre-tools chroot-tools fullpkg mips64el-tools pr-tools toru -packages=libretools libretools-pr libretools-mips64el +# these are the resulting packages +packages=libretools libretools-pr libretools-mips64el +# and which directories they contains libretools=abslibre-tools chroot-tools fullpkg toru misc libretools-pr=pr-tools libretools-mips64el=mips64el-tools ################################################################################ -all: PHONY libretools +all: PHONY build +build: PHONY build-libretools build-doc install: PHONY install-libretools install-doc -install-doc: $(patsubst doc/%,$(DESTDIR)$(docdir)/libretools/%,$(wildcard doc/*)) - -$(DESTDIR)$(docdir)/libretools/%: doc/% - install -Dm644 '$<' '$@' - -$(DESTDIR)$(sysconfdir)/libretools.conf: src/libretools.conf - install -Dm644 '$<' '$@' +%-doc: PHONY doc + $(MAKE) -C doc $* +%-misc: PHONY src + $(MAKE) -C src $* -$(foreach pkg,$(pseudo-packages) ., \ -$(eval \ -$(DESTDIR)$(bindir)/%: src/$(pkg)/%; \ - install -Dm755 '$$<' '$$@' \ -) \ -$(eval \ -$(DESTDIR)$(sysconfdir)/libretools.d/%: src/$(pkg)/%; \ - install -Dm644 '$$<' '$$@' \ -)) - -################################################################################ - -progs = $(shell find src/$1 -maxdepth 1 -type f -executable -printf '%f\n') -confs = $(shell find src/$1 -maxdepth 1 -type f -not -executable -printf '%f\n') -files = $(addprefix $(DESTDIR)$2/,$(call progs,$1)) \ - $(addprefix $(DESTDIR)$3/,$(call confs,$1)) +build-%: PHONY src/% + $(MAKE) -C src/$* build +install-%: PHONY src/% + $(MAKE) -C src/$* install .SECONDEXPANSION: -$(packages): %: PHONY $$($$*) +$(addprefix build-, $(packages)): build-%: PHONY $$(addprefix build-, $$($$*)) $(addprefix install-,$(packages)): install-%: PHONY $$(addprefix install-,$$($$*)) -$(pseudo-packages) misc: %: PHONY -$(addprefix install-,$(pseudo-packages)): install-%: PHONY $$(call files,$$*,$(bindir),$(sysconfdir)/libretools.d) -# special cases -install-misc: PHONY $(call files,.,$(bindir),$(sysconfdir)) - ################################################################################ FORCE: PHONY |