[PATCH 4/5] clean up build system a bit
Mike Frysinger
vapier at gentoo.org
Sun Oct 18 08:49:37 UTC 2009
Respect the build environment and make sure to create the directories
before installing into them.
Signed-off-by: Mike Frysinger <vapier at gentoo.org>
---
src/Makefile | 39 ++++++++++++++++++---------------------
1 files changed, 18 insertions(+), 21 deletions(-)
diff --git a/src/Makefile b/src/Makefile
index c466bf8..f6bbee5 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -8,10 +8,8 @@
# Version: @(#)Makefile 2.85-13 23-Mar-2004 miquels at cistron.nl
#
-CC = gcc
-CFLAGS = -ansi -W -Wall -O2 -fomit-frame-pointer -D_GNU_SOURCE
-LDFLAGS = -s
-STATIC =
+CFLAGS ?= -ansi -O2 -fomit-frame-pointer
+CFLAGS += -W -Wall -D_GNU_SOURCE
# For some known distributions we do not build all programs, otherwise we do.
BIN =
@@ -49,6 +47,7 @@ BIN_COMBO = $(BIN_OWNER):$(BIN_GROUP)
STRIP = strip -s -R .comment
INSTALL_EXEC = install -o $(BIN_OWNER) -g $(BIN_GROUP) -m 755
INSTALL_DATA = install -o $(BIN_OWNER) -g $(BIN_GROUP) -m 644
+INSTALL_DIR = install -m 755 -d
MANDIR = /usr/share/man
ifeq ($(WITH_SELINUX),yes)
@@ -64,56 +63,51 @@ endif
# Additional libs for GNU libc.
-ifneq ($(wildcard /usr/lib/libcrypt.a),)
LCRYPT = -lcrypt
-endif
all: $(BIN) $(SBIN) $(USRBIN)
+#%: %.o
+# $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS)
+#%.o: %.c
+# $(CC) $(CFLAGS) $(CPPFLAGS) -c $^ -o $@
+
+init: LDLIBS += $(INIT_SELIBS)
init: init.o init_utmp.o
- $(CC) $(LDFLAGS) $(STATIC) -o $@ init.o init_utmp.o $(INIT_SELIBS)
halt: halt.o ifdown.o hddown.o utmp.o reboot.h
- $(CC) $(LDFLAGS) -o $@ halt.o ifdown.o hddown.o utmp.o
last: last.o oldutmp.h
- $(CC) $(LDFLAGS) -o $@ last.o
mesg: mesg.o
- $(CC) $(LDFLAGS) -o $@ mesg.o
mountpoint: mountpoint.o
- $(CC) $(LDFLAGS) -o $@ mountpoint.o
utmpdump: utmpdump.o
- $(CC) $(LDFLAGS) -o $@ utmpdump.o
runlevel: runlevel.o
- $(CC) $(LDFLAGS) -o $@ runlevel.o
+sulogin: LDLIBS += $(LCRYPT) $(SULOGIN_SELIBS)
sulogin: sulogin.o
- $(CC) $(LDFLAGS) $(STATIC) $(SELINUX_DEF) -o $@ $^ $(LCRYPT) $(SULOGIN_SELIBS)
wall: dowall.o wall.o
- $(CC) $(LDFLAGS) -o $@ dowall.o wall.o
shutdown: dowall.o shutdown.o utmp.o reboot.h
- $(CC) $(LDFLAGS) -o $@ dowall.o shutdown.o utmp.o
+bootlogd: LDLIBS += -lutil
bootlogd: bootlogd.o
- $(CC) $(LDFLAGS) -o $@ bootlogd.o -lutil
+sulogin.o: CPPFLAGS += $(SELINUX_DEF)
sulogin.o: sulogin.c
- $(CC) -c $(CFLAGS) $(SELINUX_DEF) sulogin.c
+init.o: CPPFLAGS += $(SELINUX_DEF)
init.o: init.c init.h set.h reboot.h initreq.h
- $(CC) -c $(CFLAGS) $(SELINUX_DEF) init.c
utmp.o: utmp.c init.h
- $(CC) -c $(CFLAGS) utmp.c
+init_utmp.o: CPPFLAGS += -DINIT_MAIN
init_utmp.o: utmp.c init.h
- $(CC) -c $(CFLAGS) -DINIT_MAIN utmp.c -o init_utmp.o
+ $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
cleanobjs:
rm -f *.o *.bak
@@ -127,6 +121,9 @@ clobber: cleanobjs
distclean: clobber
install:
+ $(INSTALL_DIR) $(ROOT)/bin $(ROOT)/sbin $(ROOT)/usr/bin \
+ $(ROOT)/etc $(ROOT)/usr/include $(ROOT)/$(MANDIR)/man1 \
+ $(ROOT)/$(MANDIR)/man5 $(ROOT)/$(MANDIR)/man8
for i in $(BIN); do \
$(STRIP) $$i ; \
$(INSTALL_EXEC) $$i $(ROOT)/bin/ ; \
--
1.6.5.rc2
More information about the initscripts-ng-devel
mailing list