| 1 |
# Common makefile settings |
| 2 |
# Copyright 2006-2007 Gentoo Foundation |
| 3 |
|
| 4 |
DESTDIR = / |
| 5 |
ROOT = / |
| 6 |
LIB = lib |
| 7 |
|
| 8 |
# |
| 9 |
# Recursive rules |
| 10 |
# |
| 11 |
|
| 12 |
SUBDIRS_ALL = $(patsubst %,%_all,$(SUBDIRS)) |
| 13 |
SUBDIRS_CLEAN = $(patsubst %,%_clean,$(SUBDIRS)) |
| 14 |
SUBDIRS_INSTALL = $(patsubst %,%_install,$(SUBDIRS)) |
| 15 |
|
| 16 |
all:: $(SUBDIRS_ALL) |
| 17 |
clean:: $(SUBDIRS_CLEAN) |
| 18 |
install:: $(SUBDIRS_INSTALL) |
| 19 |
|
| 20 |
# Hmm ... possible to combine these three and not be ugly ? |
| 21 |
%_all: |
| 22 |
$(MAKE) -C $(patsubst %_all,%,$@) all |
| 23 |
if test -d $(patsubst %_all,%,$@).$(OS) ; then $(MAKE) -C $(patsubst %_all,%,$@).$(OS) all ; fi |
| 24 |
%_clean: |
| 25 |
$(MAKE) -C $(patsubst %_clean,%,$@) clean |
| 26 |
if test -d $(patsubst %_clean,%,$@).$(OS) ; then $(MAKE) -C $(patsubst %_clean,%,$@).$(OS) clean ; fi |
| 27 |
%_install: |
| 28 |
$(MAKE) -C $(patsubst %_install,%,$@) install |
| 29 |
if test -d $(patsubst %_install,%,$@).$(OS) ; then $(MAKE) -C $(patsubst %_install,%,$@).$(OS) install ; fi |
| 30 |
|
| 31 |
|
| 32 |
# |
| 33 |
# Install rules |
| 34 |
# |
| 35 |
|
| 36 |
INSTALL_DIR = install -m 0755 -d |
| 37 |
INSTALL_EXE = install -m 0755 |
| 38 |
INSTALL_FILE = install -m 0644 |
| 39 |
INSTALL_SECURE = install -m 0600 |
| 40 |
|
| 41 |
install:: $(EXES) $(FILES) $(FILES_NOEXIST) $(MANS) |
| 42 |
test -n $(DIR) && $(INSTALL_DIR) $(DESTDIR)$(DIR) |
| 43 |
for x in $(EXES) ; do $(INSTALL_EXE) $$x $(DESTDIR)$(DIR) || exit $$? ; done |
| 44 |
for x in $(FILES) ; do $(INSTALL_FILE) $$x $(DESTDIR)$(DIR) || exit $$? ; done |
| 45 |
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 |
| 46 |
for x in $(FILES_NOEXIST) ; do if ! test -e $(DESTDIR)$(DIR)/$$x ; then $(INSTALL_FILE) $$x $(DESTDIR)$(DIR) || exit $$? ; fi ; done |
| 47 |
for x in $(FILES_SECURE) ; do $(INSTALL_SECURE) $$x $(DESTDIR)$(DIR) || exit $$? ; done |
| 48 |
for x in $(MANS) ; do \ |
| 49 |
ext=`echo $$x | sed -e 's/^.*\\.//'` ; \ |
| 50 |
$(INSTALL_DIR) $(DESTDIR)$(DIR)/man$$ext || exit $$? ; \ |
| 51 |
$(INSTALL_FILE) $$x $(DESTDIR)$(DIR)/man$$ext || exit $$? ; \ |
| 52 |
done |
| 53 |
|
| 54 |
.PHONY: all clean install |