chiark / gitweb /
FHS patches from Bas Zoetekouw <bas@debian.org> (#91112, #91376, #91387)
[authbind.git] / Makefile
index cd9e8780244570ef9320ebb978ca746eb6cadd7a..1d9a011d22bf958e75bdf2a7756dbd7efce0c73d 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -30,13 +30,19 @@ man8_dir=$(man_dir)/man8
 
 etc_dir=/etc/authbind
 
+INSTALL_FILE=install -o root -g root -m 644 
+INSTALL_PROGRAM=install -o root -g root -m 755 -s
+INSTALL_DIR=install -o root -g root -m 755 -d 
+
 OPTIMISE=      -O2
+LDFLAGS=       -g
 CFLAGS=                -g $(OPTIMISE) \
                -Wall -Wwrite-strings -Wpointer-arith -Wimplicit \
                -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes
 CPPFLAGS=      -DMAJOR_VER='"$(MAJOR)"' -DMINOR_VER='"$(MINOR)"' \
                -DLIBAUTHBIND='"$(lib_dir)/$(LIBCANON)"' \
-               -DHELPER='"$(lib_dir)/helper"' -DCONFIGDIR='"$(etc_dir)"'
+               -DHELPER='"$(lib_dir)/helper"' -DCONFIGDIR='"$(etc_dir)"' \
+               -D_GNU_SOURCE
 
 MAJOR=1
 MINOR=0
@@ -50,24 +56,30 @@ MANPAGES_8=         authbind-helper.8
 all:                   $(TARGETS)
 
 install:               $(TARGETS)
-               install -o root -g root -m 755 -d $(lib_dir) $(man1_dir) $(man8_dir)
-               install -o root -g root -m 755 -s authbind $(bin_dir)/.
-               install -o root -g root -m 755 $(LIBTARGET) $(lib_dir)/.
+               $(INSTALL_DIR) $(lib_dir) $(man1_dir) $(man8_dir)
+               $(INSTALL_PROGRAM) authbind $(bin_dir)/.
+               $(INSTALL_FILE) $(LIBTARGET) $(lib_dir)/.
                strip --strip-unneeded $(lib_dir)/$(LIBTARGET)
-               ln -s $(LIBTARGET) $(lib_dir)/$(LIBCANON)
-               install -o root -g root -m 4755 -s helper $(lib_dir)/.
-               install -o root -g root -m 755 -d $(etc_dir) \
+               ln -sf $(LIBTARGET) $(lib_dir)/$(LIBCANON)
+               $(INSTALL_PROGRAM) helper $(lib_dir)/.
+               chmod u+s $(lib_dir)/helper
+               $(INSTALL_DIR) $(etc_dir) \
                        $(etc_dir)/byport $(etc_dir)/byaddr $(etc_dir)/byuid
 
 install_man:           $(MANPAGES_1) $(MANPAGES_8)
-               install -o root -g root -m 644 $(MANPAGES_1) $(man1_dir)/.
-               install -o root -g root -m 644 $(MANPAGES_8) $(man8_dir)/.
+               $(INSTALL_FILE) $(MANPAGES_1) $(man1_dir)/.
+               $(INSTALL_FILE) $(MANPAGES_8) $(man8_dir)/.
 
-libauthbind.o:         libauthbind.c
+libauthbind.o:         libauthbind.c authbind.h
                $(CC) -D_REENTRANT $(CFLAGS) $(CPPFLAGS) -c -o $@ -fPIC $<
 
+authbind:              authbind.o
+helper:                        helper.o
+
+helper.o authbind.o:   authbind.h
+
 $(LIBTARGET):          libauthbind.o
-               gcc -g -shared -Wl,-soname,$(LIBCANON) -o $@ $< -ldl -lc
+               ld -shared -soname $(LIBCANON) -o $@ $< -ldl -lc
 
 clean distclean:
                rm -f $(TARGETS) *.o *~ ./#*# *.bak *.new core libauthbind.so*