diff options
Diffstat (limited to 'default.mk')
-rw-r--r-- | default.mk | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/default.mk b/default.mk new file mode 100644 index 00000000..e65bad87 --- /dev/null +++ b/default.mk @@ -0,0 +1,54 @@ +# Common makefile settings +# Copyright 2006-2007 Gentoo Foundation + +DESTDIR = / +ROOT = / +LIB = lib + +# +# Recursive rules +# + +SUBDIRS_ALL = $(patsubst %,%_all,$(SUBDIRS)) +SUBDIRS_CLEAN = $(patsubst %,%_clean,$(SUBDIRS)) +SUBDIRS_INSTALL = $(patsubst %,%_install,$(SUBDIRS)) + +all:: $(SUBDIRS_ALL) +clean:: $(SUBDIRS_CLEAN) +install:: $(SUBDIRS_INSTALL) + +# Hmm ... possible to combine these three and not be ugly ? +%_all: + $(MAKE) -C $(patsubst %_all,%,$@) all + if test -d $(patsubst %_all,%,$@).$(OS) ; then $(MAKE) -C $(patsubst %_all,%,$@).$(OS) all ; fi +%_clean: + $(MAKE) -C $(patsubst %_clean,%,$@) clean + if test -d $(patsubst %_clean,%,$@).$(OS) ; then $(MAKE) -C $(patsubst %_clean,%,$@).$(OS) clean ; fi +%_install: + $(MAKE) -C $(patsubst %_install,%,$@) install + if test -d $(patsubst %_install,%,$@).$(OS) ; then $(MAKE) -C $(patsubst %_install,%,$@).$(OS) install ; fi + + +# +# Install rules +# + +INSTALL_DIR = install -m 0755 -d +INSTALL_EXE = install -m 0755 +INSTALL_FILE = install -m 0644 +INSTALL_SECURE = install -m 0600 + +install:: $(EXES) $(FILES) $(FILES_NOEXIST) $(MANS) + test -n $(DIR) && $(INSTALL_DIR) $(DESTDIR)$(DIR) + for x in $(EXES) ; do $(INSTALL_EXE) $$x $(DESTDIR)$(DIR) || exit $$? ; done + for x in $(FILES) ; do $(INSTALL_FILE) $$x $(DESTDIR)$(DIR) || exit $$? ; done + for x in $(FILES_APPEND) ; do if test -e $(DESTDIR)$(DIR)/$$x ; then cat $$x >> $(DESTDIR)$(DIR)/$$x || exit $$? ; else $(INSTALL_FILE) $$x $(DESTDIR)$(DIR) || exit $$? ; fi ; done + for x in $(FILES_NOEXIST) ; do if ! test -e $(DESTDIR)$(DIR)/$$x ; then $(INSTALL_FILE) $$x $(DESTDIR)$(DIR) || exit $$? ; fi ; done + for x in $(FILES_SECURE) ; do $(INSTALL_SECURE) $$x $(DESTDIR)$(DIR) || exit $$? ; done + for x in $(MANS) ; do \ + ext=`echo $$x | sed -e 's/^.*\\.//'` ; \ + $(INSTALL_DIR) $(DESTDIR)$(DIR)/man$$ext || exit $$? ; \ + $(INSTALL_FILE) $$x $(DESTDIR)$(DIR)/man$$ext || exit $$? ; \ + done + +.PHONY: all clean install |