aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2007-11-19 16:42:28 +0000
committerRoy Marples <roy@marples.name>2007-11-19 16:42:28 +0000
commit88ccccc22a3f8938bcd43ffbe86d3b9c3c814ad3 (patch)
treee4637b861c8a4f65713d6825b8c6749bdfa0fa66
parent81715c31594ac2f02b1d73dc9df0a7e9a19ca9a7 (diff)
Move runlevel and lib logic to the sub Makefiles
-rw-r--r--Makefile18
-rw-r--r--default.mk9
-rw-r--r--etc.BSD/Makefile2
-rw-r--r--runlevels.BSD/Makefile19
-rw-r--r--runlevels.Linux/Makefile19
-rw-r--r--runlevels/Makefile19
-rw-r--r--sh/Makefile9
-rw-r--r--src/Makefile19
8 files changed, 63 insertions, 51 deletions
diff --git a/Makefile b/Makefile
index d75e7139..5fdff095 100644
--- a/Makefile
+++ b/Makefile
@@ -6,29 +6,15 @@ NAME = openrc
VERSION = 1.0
PKG = $(NAME)-$(VERSION)
-SUBDIR = conf.d etc init.d man net sh src
+SUBDIR = conf.d etc init.d man net runlevels sh src
TOPDIR = .
include $(TOPDIR)/default.mk
include $(TOPDIR)/Makefile.$(OS)
install::
- # Don't install runlevels if they already exist
- if ! test -d $(DESTDIR)/etc/runlevels ; then \
- (cd runlevels; $(MAKE) install) ; \
- test -d runlevels.$(OS) && (cd runlevels.$(OS); $(MAKE) install) ; \
- $(INSTALL_DIR) $(DESTDIR)/etc/runlevels/single || exit $$? ; \
- $(INSTALL_DIR) $(DESTDIR)/etc/runlevels/nonetwork || exit $$? ; \
- fi
ln -snf ../../$(RC_LIB)/sh/net.sh $(DESTDIR)/etc/init.d/$(NET_LO) || exit $$?
ln -snf ../../$(RC_LIB)/sh/functions.sh $(DESTDIR)/etc/init.d || exit $$?
- # Handle lib correctly
- if test $(LIB) != "lib" ; then \
- sed -i'.bak' -e 's,/lib/,/$(LIB)/,g' $(DESTDIR)/$(RC_LIB)/sh/functions.sh || exit $$? ; \
- rm -f $(DESTDIR)/$(RC_LIB)/sh/functions.sh.bak ; \
- sed -i'.bak' -e 's,/lib/,/$(LIB)/,g' $(DESTDIR)/$(RC_LIB)/sh/rc-functions.sh || exit $$? ; \
- rm -f $(DESTDIR)/$(RC_LIB)/sh/rc-functions.sh.bak ; \
- fi
diststatus:
if test -d .svn ; then \
@@ -51,6 +37,4 @@ distit:
dist: diststatus distit
-.PHONY: layout dist distit diststatus
-
# vim: set ts=4 :
diff --git a/default.mk b/default.mk
index 869e051c..6ec11c31 100644
--- a/default.mk
+++ b/default.mk
@@ -33,21 +33,18 @@ clean::
install::
$(_SUBDIR)
-install:: $(BIN) $(CONF) $(CONF_APPEND) $(MAN8)
+install:: $(BIN) $(CONF) $(CONF_APPEND)
if test -n "$(DIR)" ; then $(INSTALL) -d $(DESTDIR)$(DIR) || exit $$?; fi
if test -n "$(BIN)" ; then $(INSTALL) $(BIN) $(DESTDIR)$(DIR) || exit $$?; fi
- if test -n "$(CONF)" ; then $(INSTALL) -m 0644 $(CONF) $(DESTDIR)$(DIR) || exit $$?; fi
- for x in $(CONF_APPEND) ; do \
+ for x in $(CONF); do \
if ! test -e $(DESTDIR)$(DIR)/$$x; then \
$(INSTALL) -m 0644 $$x $(DESTDIR)$(DIR) || exit $$?; \
fi; \
done
- for x in $(CONF_APPEND) ; do \
+ for x in $(CONF_APPEND); do \
if test -e $(DESTDIR)$(DIR)/$$x; then \
cat $$x >> $(DESTDIR)$(DIR)/$$x || exit $$?; \
else \
$(INSTALL) -m 0644 $$x $(DESTDIR)$(DIR) || exit $$?; \
fi; \
done
-
-.PHONY: all clean install
diff --git a/etc.BSD/Makefile b/etc.BSD/Makefile
index 61df479d..6ddb3448 100644
--- a/etc.BSD/Makefile
+++ b/etc.BSD/Makefile
@@ -1,5 +1,5 @@
DIR = /etc
-FILES = rc rc.shutdown
+CONF = rc rc.shutdown
TOPDIR = ..
include $(TOPDIR)/default.mk
diff --git a/runlevels.BSD/Makefile b/runlevels.BSD/Makefile
index a130621f..6c47cc7f 100644
--- a/runlevels.BSD/Makefile
+++ b/runlevels.BSD/Makefile
@@ -1,12 +1,21 @@
BOOTLEVEL = net.lo0 sysctl syscons
DEFAULT =
+LEVELDIR = $(DESTDIR)/etc/runlevels
+BOOTDIR = $(LEVELDIR)/boot
+DEFAULTDIR = $(LEVELDIR)/default
+
install:
- install -d -m 0755 $(DESTDIR)/etc/runlevels/boot || exit $$?
- for x in $(BOOT) ; do ln -snf ../../init.d/"$$x" $(DESTDIR)/etc/runlevels/boot/"$$x" || exit $$? ; done
- install -d -m 0755 $(DESTDIR)/etc/runlevels/default || exit $$?
- for x in $(DEFAULT) ; do ln -snf ../../init.d/"$$x" $(DESTDIR)/etc/runlevels/default/"$$x" || exit $$? ; done
+ if ! test -d "$(BOOTDIR)" ; then \
+ $(INSTALL) -d $(BOOTDIR) || exit $$?; \
+ for x in $(BOOT); do ln -snf ../../init.d/"$$x" $(BOOTDIR)/"$$x" || exit $$? ; done \
+ fi
+ if ! test -d "$(DEFAULTDIR)" ; then \
+ $(INSTALL) -d $(DEFAULTDIR) || exit $$?; \
+ for x in $(DEFAULT); do ln -snf ../../init.d/"$$x" $(DEFAULTDIR)/"$$x" || exit $$? ; done \
+ fi
-.PHONY: all clean
+all:
+clean:
# vim: set ts=4 :
diff --git a/runlevels.Linux/Makefile b/runlevels.Linux/Makefile
index 3fe69d83..f3ccc551 100644
--- a/runlevels.Linux/Makefile
+++ b/runlevels.Linux/Makefile
@@ -1,12 +1,21 @@
BOOT = consolefont keymaps modules net.lo
DEFAULT = hdparm
+LEVELDIR = $(DESTDIR)/etc/runlevels
+BOOTDIR = $(LEVELDIR)/boot
+DEFAULTDIR = $(LEVELDIR)/default
+
install:
- install -d -m 0755 $(DESTDIR)/etc/runlevels/boot || exit $$?
- for x in $(BOOT) ; do ln -snf ../../init.d/"$$x" $(DESTDIR)/etc/runlevels/boot/"$$x" || exit $$? ; done
- install -d -m 0755 $(DESTDIR)/etc/runlevels/default || exit $$?
- for x in $(DEFAULT) ; do ln -snf ../../init.d/"$$x" $(DESTDIR)/etc/runlevels/default/"$$x" || exit $$? ; done
+ if ! test -d "$(BOOTDIR)" ; then \
+ $(INSTALL) -d $(BOOTDIR) || exit $$?; \
+ for x in $(BOOT); do ln -snf ../../init.d/"$$x" $(BOOTDIR)/"$$x" || exit $$? ; done \
+ fi
+ if ! test -d "$(DEFAULTDIR)" ; then \
+ $(INSTALL) -d $(DEFAULTDIR) || exit $$?; \
+ for x in $(DEFAULT); do ln -snf ../../init.d/"$$x" $(DEFAULTDIR)/"$$x" || exit $$? ; done \
+ fi
-.PHONY: all clean
+all:
+clean:
# vim: set ts=4 :
diff --git a/runlevels/Makefile b/runlevels/Makefile
index 79041eca..f57eae02 100644
--- a/runlevels/Makefile
+++ b/runlevels/Makefile
@@ -1,12 +1,21 @@
BOOT = bootmisc checkroot checkfs clock hostname localmount rmnologin urandom
DEFAULT = local netmount
+LEVELDIR = $(DESTDIR)/etc/runlevels
+BOOTDIR = $(LEVELDIR)/boot
+DEFAULTDIR = $(LEVELDIR)/default
+
install:
- install -d -m 0755 $(DESTDIR)/etc/runlevels/boot || exit $$?
- for x in $(BOOT) ; do ln -snf ../../init.d/"$$x" $(DESTDIR)/etc/runlevels/boot/"$$x" || exit $$? ; done
- install -d -m 0755 $(DESTDIR)/etc/runlevels/default || exit $$?
- for x in $(DEFAULT) ; do ln -snf ../../init.d/"$$x" $(DESTDIR)/etc/runlevels/default/"$$x" || exit $$? ; done
+ if ! test -d "$(BOOTDIR)" ; then \
+ $(INSTALL) -d $(BOOTDIR) || exit $$?; \
+ for x in $(BOOT); do ln -snf ../../init.d/"$$x" $(BOOTDIR)/"$$x" || exit $$? ; done \
+ fi
+ if ! test -d "$(DEFAULTDIR)" ; then \
+ $(INSTALL) -d $(DEFAULTDIR) || exit $$?; \
+ for x in $(DEFAULT); do ln -snf ../../init.d/"$$x" $(DEFAULTDIR)/"$$x" || exit $$? ; done \
+ fi
-.PHONY: all clean
+all:
+clean:
# vim: set ts=4 :
diff --git a/sh/Makefile b/sh/Makefile
index 0be6c650..af610ca7 100644
--- a/sh/Makefile
+++ b/sh/Makefile
@@ -5,3 +5,12 @@ BIN = gendepends.sh net.sh rc-mount.sh rc-help.sh runscript.sh
TOPDIR = ..
include $(TOPDIR)/default.mk
+
+install::
+ # Handle lib correctly
+ if test $(LIB) != "lib" ; then \
+ sed -i'.bak' -e 's,/lib/,/$(LIB)/,g' $(DESTDIR)/$(RC_LIB)/sh/functions.sh || exit $$? ; \
+ rm -f $(DESTDIR)/$(RC_LIB)/sh/functions.sh.bak ; \
+ sed -i'.bak' -e 's,/lib/,/$(LIB)/,g' $(DESTDIR)/$(RC_LIB)/sh/rc-functions.sh || exit $$? ; \
+ rm -f $(DESTDIR)/$(RC_LIB)/sh/rc-functions.sh.bak ; \
+ fi
diff --git a/src/Makefile b/src/Makefile
index 0e449194..966f9339 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -6,12 +6,6 @@
# to type make instead of gmake, but also so that other distros can pick
# it up and not rely on GNU Make.
-# NOTE:- FreeBSD and DragonFly have no way of optionally including files
-# that works with GNU make and vice versa. NetBSD and OpenBSD makes do.
-# You can get a patch from
-# http://www.freebsd.org/cgi/query-pr.cgi?pr=standards/116081
-# to fix this.
-
CC ?= gcc
CFLAGS += -O2 -pipe
LDFLAGS += -L.
@@ -22,7 +16,7 @@ check_gcc=$(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null >/dev/null 2>&1; \
# pmake check for extra cflags
WEXTRA != for x in -Wdeclaration-after-statement -Wsequence-point -Wextra; do \
- if $(CC) -Wdeclaration-after-statement -S -o /dev/null -xc /dev/null >/dev/null 2>&1; \
+ if $(CC) -W$$x -S -o /dev/null -xc /dev/null >/dev/null 2>&1; \
then echo -n "$$x "; fi \
done
@@ -101,6 +95,9 @@ include Makefile.$(PAM)
all: .depend $(TARGET)
+version.h:
+ sed -n -e 's/^VERSION =[[:space:]]*\([^[:space:]]*\).*/#define VERSION "\1\"/p' ../Makefile > version.h
+
$(LIBEINFOOBJS):
$(CC) $(CPPFLAGS) $(CFLAGS) -fPIC -c $<
$(LIBEINFOSO): einfo.map $(LIBEINFOOBJS)
@@ -160,10 +157,10 @@ install:: $(TARGET)
clean-links:
rm -f $(ALL_LINKS)
-clean::
+clean:: clean-links
echo > .depend
touch -r Makefile .depend
- rm -f $(TARGET)
+ rm -f $(TARGET) version.h
rm -f *.o *~ *.core *.so *.a
check:
@@ -171,7 +168,5 @@ check:
include .depend
_DEPS != ls *.c *.h
-.depend: $(_DEPS)$(wildcard *.c *.h)
+.depend: version.h $(_DEPS)$(wildcard *.c *.h)
$(CC) $(CPPFLAGS) -MM *.c > .depend
-
-.PHONY: all clean clean-links install links