src/Makefile: make install locations configurable

This allows following the distribution policies for where these
things should be placed. Defaults stay as they were.
This commit is contained in:
Qing He 2010-06-18 09:40:30 +08:00 committed by Alexander Kanavin
parent bd17b7d538
commit d4f2faf68c

View File

@ -77,7 +77,14 @@ else
INSTALL_DATA = install -m 644
endif
INSTALL_DIR = install -m 755 -d
MANDIR = /usr/share/man
ROOT ?=
base_bindir ?= /bin
base_sbindir ?= /sbin
bindir ?= /usr/bin
sysconfdir ?= /etc
includedir ?= /usr/include
mandir ?= /usr/share/man
ifeq ($(WITH_SELINUX),yes)
SELINUX_DEF = -DWITH_SELINUX
@ -191,45 +198,45 @@ clobber: cleanobjs
distclean: clobber
install: all
$(INSTALL_DIR) $(ROOT)/bin/ $(ROOT)/sbin/
$(INSTALL_DIR) $(ROOT)/usr/bin/
$(INSTALL_DIR) $(ROOT)$(base_bindir)/ $(ROOT)$(base_sbindir)/
$(INSTALL_DIR) $(ROOT)$(bindir)/
for i in $(BIN); do \
$(INSTALL_EXEC) $$i $(ROOT)/bin/ ; \
$(INSTALL_EXEC) $$i $(ROOT)$(base_bindir)/ ; \
done
for i in $(SBIN); do \
$(INSTALL_EXEC) $$i $(ROOT)/sbin/ ; \
$(INSTALL_EXEC) $$i $(ROOT)$(base_sbindir)/ ; \
done
for i in $(USRBIN); do \
$(INSTALL_EXEC) $$i $(ROOT)/usr/bin/ ; \
$(INSTALL_EXEC) $$i $(ROOT)$(bindir)/ ; \
done
# $(INSTALL_DIR) $(ROOT)/etc/
$(INSTALL_DIR) $(ROOT)/etc/inittab.d
# $(INSTALL_EXEC) ../doc/initscript.sample $(ROOT)/etc/
ln -sf halt $(ROOT)/sbin/reboot
ln -sf halt $(ROOT)/sbin/poweroff
ln -sf init $(ROOT)/sbin/telinit
ln -sf /sbin/killall5 $(ROOT)/bin/pidof
if [ ! -f $(ROOT)/usr/bin/lastb ]; then \
ln -sf last $(ROOT)/usr/bin/lastb; \
ln -sf halt $(ROOT)$(base_sbindir)/reboot
ln -sf halt $(ROOT)$(base_sbindir)/poweroff
ln -sf init $(ROOT)$(base_sbindir)/telinit
ln -sf $(base_sbindir)/killall5 $(ROOT)$(base_bindir)/pidof
if [ ! -f $(ROOT)$(bindir)/lastb ]; then \
ln -sf last $(ROOT)$(bindir)/lastb; \
fi
$(INSTALL_DIR) $(ROOT)/usr/include/
$(INSTALL_DATA) initreq.h $(ROOT)/usr/include/
$(INSTALL_DIR) $(ROOT)$(includedir)/
$(INSTALL_DATA) initreq.h $(ROOT)$(includedir)/
for lang in '' $(patsubst ../man/po/%.po,%,$(wildcard ../man/po/??.po)); do \
$(INSTALL_DIR) $(ROOT)$(MANDIR)/man1/$$lang; \
$(INSTALL_DIR) $(ROOT)$(MANDIR)/man5/$$lang; \
$(INSTALL_DIR) $(ROOT)$(MANDIR)/man8/$$lang; \
$(INSTALL_DIR) $(ROOT)$(mandir)/man1/$$lang; \
$(INSTALL_DIR) $(ROOT)$(mandir)/man5/$$lang; \
$(INSTALL_DIR) $(ROOT)$(mandir)/man8/$$lang; \
done
for man in $(MAN1) $(subst ../man/,,$(foreach man,$(MAN1),$(wildcard ../man/??/$(man)))); do \
$(INSTALL_DATA) ../man/$$man $(ROOT)$(MANDIR)/man1/$$man; \
sed -i "1{ $(MANDB); }" $(ROOT)$(MANDIR)/man1/$$man ; \
$(INSTALL_DATA) ../man/$$man $(ROOT)$(mandir)/man1/$$man; \
sed -i "1{ $(MANDB); }" $(ROOT)$(mandir)/man1/$$man ; \
done
for man in $(MAN5) $(subst ../man/,,$(foreach man,$(MAN5),$(wildcard ../man/??/$(man)))); do \
$(INSTALL_DATA) ../man/$$man $(ROOT)$(MANDIR)/man5/$$man; \
sed -i "1{ $(MANDB); }" $(ROOT)$(MANDIR)/man5/$$man ; \
$(INSTALL_DATA) ../man/$$man $(ROOT)$(mandir)/man5/$$man; \
sed -i "1{ $(MANDB); }" $(ROOT)$(mandir)/man5/$$man ; \
done
for man in $(MAN8) $(subst ../man/,,$(foreach man,$(MAN8),$(wildcard ../man/??/$(man)))); do \
$(INSTALL_DATA) ../man/$$man $(ROOT)$(MANDIR)/man8/$$man; \
sed -i "1{ $(MANDB); }" $(ROOT)$(MANDIR)/man8/$$man ; \
$(INSTALL_DATA) ../man/$$man $(ROOT)$(mandir)/man8/$$man; \
sed -i "1{ $(MANDB); }" $(ROOT)$(mandir)/man8/$$man ; \
done
ifeq ($(ROOT),)
#