diff options
| author | Timo Weingärtner <timo@tiwe.de> | 2013-04-25 14:22:49 +0200 | 
|---|---|---|
| committer | Timo Weingärtner <timo@tiwe.de> | 2013-04-25 19:51:37 +0200 | 
| commit | 0148de59cdcea4013d694fc04db3174ce06c60b1 (patch) | |
| tree | 3932e77768472250b3626ce3252e12fb998aa57e /Makefile | |
| parent | 5dbeed06ae0b0f168158920c59dcfb0cc822dee6 (diff) | |
| download | libpam-pwdfile-0148de59cdcea4013d694fc04db3174ce06c60b1.tar.gz | |
rework Makefile for standalone building
if this is ever integrated into pam it will be autotools anyways
use ?= and += to better work with distribution's build systems
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 122 | 
1 files changed, 25 insertions, 97 deletions
@@ -1,112 +1,40 @@ -# $Id: Makefile,v 1.5 2002-06-09 21:01:46 cpbotha Exp $ -# -# This Makefile controls a build process of $(TITLE) module for -# Linux-PAM. You should not modify this Makefile (unless you know -# what you are doing!). -# +PAM_LIB_DIR ?= $(DESTDIR)/lib/security +INSTALL ?= install +CFLAGS ?= -O2 -g -Wall -Wformat-security -include ../../Make.Rules +CFLAGS += -fPIC +LDFLAGS += -Wl,-x -shared -ifeq ($(HAVE_LIBCRYPT),yes) -  EXTRALS += -lcrypt -endif - -TITLE=pam_pwdfile -CFLAGS += -D_BSD_SOURCE - -md5_good.o: md5.c -	$(CC) $(CFLAGS) $(CPPFLAGS) -DHIGHFIRST -D'MD5Name(x)=Good##x' \ -		$(TARGET_ARCH) -c $< -o $@ - -md5_broken.o: md5.c -	$(CC) $(CFLAGS) $(CPPFLAGS) -D'MD5Name(x)=Broken##x' \ -		$(TARGET_ARCH) -c $< -o $@ - -md5_crypt_good.o: md5_crypt.c -	$(CC) $(CFLAGS) $(CPPFLAGS) -D'MD5Name(x)=Good##x' \ -		$(TARGET_ARCH) -c $< -o $@ - -md5_crypt_broken.o: md5_crypt.c -	$(CC) $(CFLAGS) $(CPPFLAGS) -D'MD5Name(x)=Broken##x' \ -		$(TARGET_ARCH) -c $< -o $@ - -##### The following mostly from Simple.Rules -#####  * modifications to first 5 definitions - -LIBFILES = $(TITLE) bigcrypt -LIBSRC = $(addsuffix .c,$(LIBFILES)) md5.c md5_crypt.c -LIBOBJ = $(addsuffix .o,$(LIBFILES)) -LIBOBJD = $(addprefix dynamic/,$(LIBOBJ)) md5_good.o md5_broken.o md5_crypt_good.o md5_crypt_broken.o -LIBOBJS = $(addprefix static/,$(LIBOBJ)) md5_good.o md5_broken.o md5_crypt_good.o md5_crypt_broken.o - -ifdef DYNAMIC +TITLE = pam_pwdfile  LIBSHARED = $(TITLE).so -endif - -ifdef STATIC -LIBSTATIC = lib$(TITLE).o -endif - -####################### don't edit below ####################### +LDLIBS = -lcrypt -lpam +LIBOBJ = $(TITLE).o md5_good.o md5_broken.o md5_crypt_good.o md5_crypt_broken.o bigcrypt.o +CPPFLAGS_MD5_GOOD = -D'MD5Name(x)=Good\#\#x' +CPPFLAGS_MD5_BROKEN = -DHIGHFIRST -D'MD5Name(x)=Broken\#\#x' -all: dirs $(LIBSHARED) $(LIBSTATIC) register -dynamic/%.o : %.c -	$(CC) $(CFLAGS) $(DYNAMIC) $(TARGET_ARCH) -c $< -o $@ +all: $(LIBSHARED) -static/%.o : %.c -	$(CC) $(CFLAGS) $(STATIC) $(TARGET_ARCH) -c $< -o $@ +$(LIBSHARED): $(LIBOBJ) +	$(CC) $(LDFLAGS) $(LIBOBJ) $(LDLIBS) -o $@ -dirs: -ifdef DYNAMIC -	$(MKDIR) ./dynamic -endif -ifdef STATIC -	$(MKDIR) ./static -endif -register: -ifdef STATIC -	( cd .. ; ./register_static $(TITLE) $(TITLE)/$(LIBSTATIC) ) -endif - -ifdef DYNAMIC -$(LIBOBJD): $(LIBSRC) -endif +md5_good.o: md5.c +	$(CC) -c $(CPPFLAGS) $(CPPFLAGS_MD5_GOOD) $(CFLAGS) $< -o $@ -ifdef DYNAMIC -$(LIBSHARED):	$(LIBOBJD) -	$(LD_D) -o $@ $(LIBOBJD) $(EXTRALS) $(NEED_LINK_LIB_C) -endif +md5_broken.o: md5.c +	$(CC) -c $(CPPFLAGS) $(CPPFLAGS_MD5_BROKEN) $(CFLAGS) $< -o $@ -ifdef STATIC -$(LIBOBJS): $(LIBSRC) -endif +md5_crypt_good.o: md5_crypt.c +	$(CC) -c $(CPPFLAGS) $(CPPFLAGS_MD5_GOOD) $(CFLAGS) $< -o $@ -ifdef STATIC -$(LIBSTATIC): $(LIBOBJS) -	$(LD) -r -o $@ $(LIBOBJS) $(EXTRALS) -endif +md5_crypt_broken.o: md5_crypt.c +	$(CC) -c $(CPPFLAGS) $(CPPFLAGS_MD5_BROKEN) $(CFLAGS) $< -o $@ -install: all -	$(MKDIR) $(FAKEROOT)$(SECUREDIR) -ifdef DYNAMIC -	$(INSTALL) -m $(SHLIBMODE) $(LIBSHARED) $(FAKEROOT)$(SECUREDIR) -endif -	$(MODULE_SIMPLE_INSTALL) -remove: -	rm -f $(FAKEROOT)$(SECUREDIR)/$(TITLE).so -	$(MODULE_SIMPLE_REMOVE) +install: $(LIBSHARED) +	$(INSTALL) -m 0755 -d $(PAM_LIB_DIR) +	$(INSTALL) -m 0755 $(LIBSHARED) $(PAM_LIB_DIR)  clean: -	rm -f $(LIBOBJD) $(LIBOBJS) core *~ -	$(MODULE_SIMPLE_CLEAN) -	rm -f *.a *.o *.so *.bak -	rm -rf dynamic static -	$(MODULE_SIMPLE_EXTRACLEAN) - -.c.o:	 -	$(CC) $(CFLAGS) -c $< - - +	$(RM) *.o *.so  | 
