From: Marco d'Itri Date: Wed, 25 Jan 2012 19:14:26 +0100 Subject: [PATCH] makefiles_cleanup Makefiles cleanup Factor-out $CFLAGS and $LDFLAGS to allow distributions to easily override them. Properly use $LDFLAGS when linking and $CFLAGS when compiling. --- chat/Makefile.linux | 11 ++++---- pppd/Makefile.linux | 46 ++++++++++++++++++---------------- pppd/plugins/Makefile.linux | 11 +++++--- pppd/plugins/pppoatm/Makefile.linux | 12 ++++----- pppd/plugins/pppol2tp/Makefile.linux | 10 ++++---- pppd/plugins/radius/Makefile.linux | 24 ++++++++++-------- pppd/plugins/rp-pppoe/Makefile.linux | 22 ++++++++-------- pppdump/Makefile.linux | 10 +++++--- pppstats/Makefile.linux | 14 +++++------ 9 files changed, 86 insertions(+), 74 deletions(-) diff --git a/chat/Makefile.linux b/chat/Makefile.linux index 1065ac5..eb50bbe 100644 --- a/chat/Makefile.linux +++ b/chat/Makefile.linux @@ -8,24 +8,23 @@ CDEF1= -DTERMIOS # Use the termios structure CDEF2= -DSIGTYPE=void # Standard definition CDEF3= -UNO_SLEEP # Use the usleep function CDEF4= -DFNDELAY=O_NDELAY # Old name value -CDEFS= $(CDEF1) $(CDEF2) $(CDEF3) $(CDEF4) +COPTS= $(CDEF1) $(CDEF2) $(CDEF3) $(CDEF4) -COPTS= -O2 -g -pipe -CFLAGS= $(COPTS) $(CDEFS) +CFLAGS= -O2 -g INSTALL= install all: chat chat: chat.o - $(CC) -o chat chat.o + $(CC) $(LDFLAGS) -o chat chat.o chat.o: chat.c - $(CC) -c $(CFLAGS) -o chat.o chat.c + $(CC) -c $(COPTS) $(CFLAGS) -o chat.o chat.c install: chat mkdir -p $(BINDIR) $(MANDIR) - $(INSTALL) -s -c chat $(BINDIR) + $(INSTALL) -c chat $(BINDIR) $(INSTALL) -c -m 644 chat.8 $(MANDIR) clean: diff --git a/pppd/Makefile.linux b/pppd/Makefile.linux index 060db6a..44cf309 100644 --- a/pppd/Makefile.linux +++ b/pppd/Makefile.linux @@ -32,7 +32,7 @@ endif # CC = gcc # -COPTS = -O2 -pipe -Wall -g +CFLAGS = -O2 -g LIBS = # Uncomment the next 2 lines to include support for Microsoft's @@ -79,27 +79,26 @@ INCLUDE_DIRS= -I../include COMPILE_FLAGS= -DHAVE_PATHS_H -DIPX_CHANGE -DHAVE_MMAP -CFLAGS= $(COPTS) $(COMPILE_FLAGS) $(INCLUDE_DIRS) '-DDESTDIR="@DESTDIR@"' - ifdef CHAPMS -CFLAGS += -DCHAPMS=1 +COMPILE_FLAGS += -DCHAPMS=1 NEEDDES=y PPPDOBJS += md4.o chap_ms.o HEADERS += md4.h chap_ms.h ifdef MSLANMAN -CFLAGS += -DMSLANMAN=1 +COMPILE_FLAGS += -DMSLANMAN=1 endif ifdef MPPE -CFLAGS += -DMPPE=1 +COMPILE_FLAGS += -DMPPE=1 endif endif # EAP SRP-SHA1 ifdef USE_SRP -CFLAGS += -DUSE_SRP -DOPENSSL -I/usr/local/ssl/include +COMPILE_FLAGS += -DUSE_SRP -DOPENSSL +INCLUDE_DIRS += -I/usr/local/ssl/include LIBS += -lsrp -L/usr/local/ssl/lib -lcrypto TARGETS += srp-entry -EXTRAINSTALL = $(INSTALL) -s -c -m 555 srp-entry $(BINDIR)/srp-entry +EXTRAINSTALL = $(INSTALL) -c -m 555 srp-entry $(BINDIR)/srp-entry MANPAGES += srp-entry.8 EXTRACLEAN += srp-entry.o NEEDDES=y @@ -113,12 +112,12 @@ PPPDOBJS += sha1.o endif ifdef HAS_SHADOW -CFLAGS += -DHAS_SHADOW +COMPILE_FLAGS += -DHAS_SHADOW #LIBS += -lshadow $(LIBS) endif ifneq ($(wildcard /usr/include/crypt.h),) -CFLAGS += -DHAVE_CRYPT_H=1 +COMPILE_FLAGS += -DHAVE_CRYPT_H=1 LIBS += -lcrypt endif @@ -126,7 +125,7 @@ ifdef NEEDDES ifndef USE_CRYPT LIBS += -ldes $(LIBS) else -CFLAGS += -DUSE_CRYPT=1 +COMPILE_FLAGS += -DUSE_CRYPT=1 endif PPPDOBJS += pppcrypt.o HEADERS += pppcrypt.h @@ -134,7 +133,7 @@ endif # For "Pluggable Authentication Modules", see ftp.redhat.com:/pub/pam/. ifdef USE_PAM -CFLAGS += -DUSE_PAM +COMPILE_FLAGS += -DUSE_PAM LIBS += -lpam -ldl endif @@ -143,14 +142,14 @@ ifdef HAVE_MULTILINK # Multilink implies the use of TDB USE_TDB=y - CFLAGS += -DHAVE_MULTILINK + COMPILE_FLAGS += -DHAVE_MULTILINK PPPDSRCS += multilink.c PPPDOBJS += multilink.o endif # TDB ifdef USE_TDB - CFLAGS += -DUSE_TDB=1 + COMPILE_FLAGS += -DUSE_TDB=1 PPPDSRCS += tdb.c spinlock.c PPPDOBJS += tdb.o spinlock.o HEADERS += tdb.h spinlock.h @@ -159,11 +158,11 @@ endif # Lock library binary for Linux is included in 'linux' subdirectory. ifdef LOCKLIB LIBS += -llock -CFLAGS += -DLOCKLIB=1 +COMPILE_FLAGS += -DLOCKLIB=1 endif ifdef PLUGIN -CFLAGS += -DPLUGIN +COMPILE_FLAGS += -DPLUGIN LDFLAGS += -Wl,-E LIBS += -ldl endif @@ -171,7 +170,7 @@ endif ifdef FILTER ifneq ($(wildcard /usr/include/pcap-bpf.h),) LIBS += -lpcap -CFLAGS += -DPPP_FILTER +COMPILE_FLAGS += -DPPP_FILTER endif endif @@ -179,20 +178,22 @@ ifdef HAVE_INET6 PPPDSRCS += ipv6cp.c eui64.c HEADERS += ipv6cp.h eui64.h PPPDOBJS += ipv6cp.o eui64.o - CFLAGS += -DINET6=1 + COMPILE_FLAGS += -DINET6=1 endif ifdef CBCP PPPDSRCS += cbcp.c PPPDOBJS += cbcp.o - CFLAGS += -DCBCP_SUPPORT + COMPILE_FLAGS += -DCBCP_SUPPORT HEADERS += cbcp.h endif ifdef MAXOCTETS - CFLAGS += -DMAXOCTETS + COMPILE_FLAGS += -DMAXOCTETS endif +COPTS = $(COMPILE_FLAGS) $(INCLUDE_DIRS) '-DDESTDIR="@DESTDIR@"' + INSTALL= install all: $(TARGETS) @@ -200,11 +201,14 @@ all: $(TARGETS) install: pppd mkdir -p $(BINDIR) $(MANDIR) $(EXTRAINSTALL) - $(INSTALL) -s -c -m 555 pppd $(BINDIR)/pppd + $(INSTALL) -c -m 555 pppd $(BINDIR)/pppd if chgrp pppusers $(BINDIR)/pppd 2>/dev/null; then \ chmod o-rx,u+s $(BINDIR)/pppd; fi $(INSTALL) -c -m 444 pppd.8 $(MANDIR) +%.o: %.c + $(CC) $(COPTS) $(CFLAGS) -c $< + pppd: $(PPPDOBJS) $(CC) $(CFLAGS) $(LDFLAGS) -o pppd $(PPPDOBJS) $(LIBS) diff --git a/pppd/plugins/Makefile.linux b/pppd/plugins/Makefile.linux index 0a7ec7b..47613d7 100644 --- a/pppd/plugins/Makefile.linux +++ b/pppd/plugins/Makefile.linux @@ -1,7 +1,7 @@ #CC = gcc -COPTS = -O2 -g -CFLAGS = $(COPTS) -I.. -I../../include -fPIC -LDFLAGS = -shared +CFLAGS = -O2 -g +COPTS = -I.. -I../../include -fPIC +LDFLAGS = INSTALL = install DESTDIR = $(INSTROOT)@DESTDIR@ @@ -22,8 +22,11 @@ endif all: $(PLUGINS) for d in $(SUBDIRS); do $(MAKE) $(MFLAGS) -C $$d all; done +%.o: %.c + $(CC) $(COPTS) $(CFLAGS) -c $< + %.so: %.c - $(CC) -o $@ $(LDFLAGS) $(CFLAGS) $^ + $(CC) -o $@ $(LDFLAGS) -shared $(COPTS) $(CFLAGS) $^ VERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../patchlevel.h) diff --git a/pppd/plugins/pppoatm/Makefile.linux b/pppd/plugins/pppoatm/Makefile.linux index 20f62e6..f3cb5c4 100644 --- a/pppd/plugins/pppoatm/Makefile.linux +++ b/pppd/plugins/pppoatm/Makefile.linux @@ -1,7 +1,7 @@ #CC = gcc -COPTS = -O2 -g -CFLAGS = $(COPTS) -I../.. -I../../../include -fPIC -LDFLAGS = -shared +CFLAGS = -O2 -g +COPTS = -I../.. -I../../../include -fPIC +LDFLAGS = INSTALL = install #*********************************************************************** @@ -24,7 +24,7 @@ PLUGIN_OBJS := pppoatm.o ifdef HAVE_LIBATM LIBS := -latm else -CFLAGS += -I. +COPTS += -I. PLUGIN_OBJS += text2qos.o text2atm.o misc.o ans.o LIBS := -lresolv endif @@ -33,7 +33,7 @@ endif all: $(PLUGIN) $(PLUGIN): $(PLUGIN_OBJS) - $(CC) $(CFLAGS) -o $@ -shared $^ $(LIBS) + $(CC) $(LDFLAGS) -o $@ -shared $^ $(LIBS) install: all $(INSTALL) -d -m 755 $(LIBDIR) @@ -43,4 +43,4 @@ clean: rm -f *.o *.so %.o: %.c - $(CC) $(CFLAGS) -c -o $@ $< + $(CC) $(COPTS) $(CFLAGS) -c -o $@ $< diff --git a/pppd/plugins/pppol2tp/Makefile.linux b/pppd/plugins/pppol2tp/Makefile.linux index ea3538e..cea6211 100644 --- a/pppd/plugins/pppol2tp/Makefile.linux +++ b/pppd/plugins/pppol2tp/Makefile.linux @@ -1,7 +1,7 @@ #CC = gcc -COPTS = -O2 -g -CFLAGS = $(COPTS) -I. -I../.. -I../../../include -fPIC -LDFLAGS = -shared +CFLAGS = -O2 -g +COPTS = -I. -I../.. -I../../../include -fPIC +LDFLAGS = INSTALL = install #*********************************************************************** @@ -16,7 +16,7 @@ PLUGINS := pppol2tp.so openl2tp.so all: $(PLUGINS) %.so: %.o - $(CC) $(CFLAGS) -o $@ -shared $^ $(LIBS) + $(CC) $(LDFLAGS) -o $@ -shared $^ $(LIBS) install: all $(INSTALL) -d -m 755 $(LIBDIR) @@ -26,4 +26,4 @@ clean: rm -f *.o *.so %.o: %.c - $(CC) $(CFLAGS) -c -o $@ $< + $(CC) $(COPTS) $(CFLAGS) -c -o $@ $< diff --git a/pppd/plugins/radius/Makefile.linux b/pppd/plugins/radius/Makefile.linux index 24ed3e5..be5a669 100644 --- a/pppd/plugins/radius/Makefile.linux +++ b/pppd/plugins/radius/Makefile.linux @@ -12,7 +12,8 @@ VERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../../patchlevel.h) INSTALL = install PLUGIN=radius.so radattr.so radrealms.so -CFLAGS=-I. -I../.. -I../../../include -O2 -fPIC -DRC_LOG_FACILITY=LOG_DAEMON +CFLAGS=-g -O2 +COPTS = -I. -I../.. -I../../../include -fPIC -DRC_LOG_FACILITY=LOG_DAEMON # Uncomment the next line to include support for Microsoft's # MS-CHAP authentication protocol. @@ -23,33 +24,36 @@ MPPE=y MAXOCTETS=y ifdef CHAPMS -CFLAGS += -DCHAPMS=1 +COPTS += -DCHAPMS=1 ifdef MPPE -CFLAGS += -DMPPE=1 +COPTS += -DMPPE=1 endif endif ifdef MAXOCTETS -CFLAGS += -DMAXOCTETS=1 +COPTS += -DMAXOCTETS=1 endif all: $(PLUGIN) install: all $(INSTALL) -d -m 755 $(LIBDIR) - $(INSTALL) -s -c -m 755 radius.so $(LIBDIR) - $(INSTALL) -s -c -m 755 radattr.so $(LIBDIR) - $(INSTALL) -s -c -m 755 radrealms.so $(LIBDIR) + $(INSTALL) -c -m 755 radius.so $(LIBDIR) + $(INSTALL) -c -m 755 radattr.so $(LIBDIR) + $(INSTALL) -c -m 755 radrealms.so $(LIBDIR) $(INSTALL) -c -m 444 pppd-radius.8 $(MANDIR) $(INSTALL) -c -m 444 pppd-radattr.8 $(MANDIR) +%.o: %.c + $(CC) $(COPTS) $(CFLAGS) -c $< + radius.so: radius.o libradiusclient.a - $(CC) -o radius.so -shared radius.o libradiusclient.a + $(CC) $(LDFLAGS) -o radius.so -shared radius.o libradiusclient.a radattr.so: radattr.o - $(CC) -o radattr.so -shared radattr.o + $(CC) $(LDFLAGS) -o radattr.so -shared radattr.o radrealms.so: radrealms.o - $(CC) -o radrealms.so -shared radrealms.o + $(CC) $(LDFLAGS) -o radrealms.so -shared radrealms.o CLIENTOBJS = avpair.o buildreq.o config.o dict.o ip_util.o \ clientid.o sendserver.o lock.o util.o md5.o diff --git a/pppd/plugins/rp-pppoe/Makefile.linux b/pppd/plugins/rp-pppoe/Makefile.linux index 5d7a271..4dd2779 100644 --- a/pppd/plugins/rp-pppoe/Makefile.linux +++ b/pppd/plugins/rp-pppoe/Makefile.linux @@ -25,40 +25,40 @@ INSTALL = install # Version is set ONLY IN THE MAKEFILE! Don't delete this! RP_VERSION=3.8p -COPTS=-O2 -g -CFLAGS=$(COPTS) -I../../../include '-DRP_VERSION="$(RP_VERSION)"' +CFLAGS=-O2 -g +COPTS=-I../../../include '-DRP_VERSION="$(RP_VERSION)"' all: rp-pppoe.so pppoe-discovery pppoe-discovery: pppoe-discovery.o debug.o $(CC) -o pppoe-discovery pppoe-discovery.o debug.o pppoe-discovery.o: pppoe-discovery.c - $(CC) $(CFLAGS) -c -o pppoe-discovery.o pppoe-discovery.c + $(CC) $(COPTS) $(CFLAGS) -c -o pppoe-discovery.o pppoe-discovery.c debug.o: debug.c - $(CC) $(CFLAGS) -c -o debug.o debug.c + $(CC) $(COPTS) $(CFLAGS) -c -o debug.o debug.c rp-pppoe.so: plugin.o discovery.o if.o common.o - $(CC) -o rp-pppoe.so -shared plugin.o discovery.o if.o common.o + $(CC) $(LDFLAGS) -o rp-pppoe.so -shared $^ install: all $(INSTALL) -d -m 755 $(LIBDIR) - $(INSTALL) -s -c -m 4550 rp-pppoe.so $(LIBDIR) + $(INSTALL) -c -m 4550 rp-pppoe.so $(LIBDIR) $(INSTALL) -d -m 755 $(BINDIR) - $(INSTALL) -s -c -m 555 pppoe-discovery $(BINDIR) + $(INSTALL) -c -m 555 pppoe-discovery $(BINDIR) clean: rm -f *.o *.so pppoe-discovery plugin.o: plugin.c - $(CC) $(CFLAGS) -I../../.. -c -o plugin.o -fPIC plugin.c + $(CC) $(COPTS) $(CFLAGS) -I../../.. -c -o plugin.o -fPIC plugin.c discovery.o: discovery.c - $(CC) $(CFLAGS) -I../../.. -c -o discovery.o -fPIC discovery.c + $(CC) $(COPTS) $(CFLAGS) -I../../.. -c -o discovery.o -fPIC discovery.c if.o: if.c - $(CC) $(CFLAGS) -I../../.. -c -o if.o -fPIC if.c + $(CC) $(COPTS) $(CFLAGS) -I../../.. -c -o if.o -fPIC if.c common.o: common.c - $(CC) $(CFLAGS) -I../../.. -c -o common.o -fPIC common.c + $(CC) $(COPTS) $(CFLAGS) -I../../.. -c -o common.o -fPIC common.c diff --git a/pppdump/Makefile.linux b/pppdump/Makefile.linux index ac028f6..8cd54fd 100644 --- a/pppdump/Makefile.linux +++ b/pppdump/Makefile.linux @@ -2,20 +2,24 @@ DESTDIR = $(INSTROOT)@DESTDIR@ BINDIR = $(DESTDIR)/sbin MANDIR = $(DESTDIR)/share/man/man8 -CFLAGS= -O -I../include/net +CFLAGS=-O2 -g +COPTS= -I../include/net OBJS = pppdump.o bsd-comp.o deflate.o zlib.o INSTALL= install all: pppdump +%.o: %.c + $(CC) $(COPTS) $(CFLAGS) -c $< + pppdump: $(OBJS) - $(CC) -o pppdump $(OBJS) + $(CC) $(LDFLAGS) -o pppdump $(OBJS) clean: rm -f pppdump $(OBJS) *~ install: mkdir -p $(BINDIR) $(MANDIR) - $(INSTALL) -s -c pppdump $(BINDIR) + $(INSTALL) -c pppdump $(BINDIR) $(INSTALL) -c -m 444 pppdump.8 $(MANDIR) diff --git a/pppstats/Makefile.linux b/pppstats/Makefile.linux index cca6f0f..d97d5d9 100644 --- a/pppstats/Makefile.linux +++ b/pppstats/Makefile.linux @@ -10,27 +10,25 @@ PPPSTATSRCS = pppstats.c PPPSTATOBJS = pppstats.o #CC = gcc -COPTS = -O -COMPILE_FLAGS = -I../include +CFLAGS = -O2 -g +COPTS = -I../include LIBS = INSTALL= install -CFLAGS = $(COPTS) $(COMPILE_FLAGS) - all: pppstats install: pppstats -mkdir -p $(MANDIR) - $(INSTALL) -s -c pppstats $(BINDIR) + $(INSTALL) -c pppstats $(BINDIR) $(INSTALL) -c -m 444 pppstats.8 $(MANDIR) pppstats: $(PPPSTATSRCS) - $(CC) $(CFLAGS) -o pppstats pppstats.c $(LIBS) + $(CC) $(LDFLAGS) $(COPTS) $(CFLAGS) -o pppstats pppstats.c $(LIBS) clean: rm -f pppstats *~ #* core depend: - cpp -M $(CFLAGS) $(PPPSTATSRCS) >.depend -# makedepend $(CFLAGS) $(PPPSTATSRCS) + cpp -M $(COPTS) $(CFLAGS) $(PPPSTATSRCS) >.depend +# makedepend $(COPTS) $(CFLAGS) $(PPPSTATSRCS)