1 # Makefile for authbind
3 # authbind is Copyright (C) 1998 Ian Jackson
5 # This program is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 2, or (at your option)
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
15 # You should have received a copy of the GNU General Public License
16 # along with this program; if not, write to the Free Software Foundation,
17 # Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
24 lib_dir=$(prefix)/lib/authbind
26 share_dir=$(prefix)/share
27 man_dir=$(share_dir)/man
28 man1_dir=$(man_dir)/man1
29 man8_dir=$(man_dir)/man8
33 INSTALL_FILE=install -o root -g root -m 644
34 INSTALL_PROGRAM=install -o root -g root -m 755 -s
35 INSTALL_DIR=install -o root -g root -m 755 -d
39 CFLAGS= -g $(OPTIMISE) \
40 -Wall -Wwrite-strings -Wpointer-arith -Wimplicit \
41 -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes
42 CPPFLAGS= -DMAJOR_VER='"$(MAJOR)"' -DMINOR_VER='"$(MINOR)"' \
43 -DLIBAUTHBIND='"$(lib_dir)/$(LIBCANON)"' \
44 -DHELPER='"$(lib_dir)/helper"' -DCONFIGDIR='"$(etc_dir)"' \
49 LIBCANON= libauthbind.so.$(MAJOR)
50 LIBTARGET= $(LIBCANON).$(MINOR)
52 TARGETS= authbind helper $(LIBTARGET)
53 MANPAGES_1= authbind.1
54 MANPAGES_8= authbind-helper.8
59 $(INSTALL_DIR) $(lib_dir) $(man1_dir) $(man8_dir)
60 $(INSTALL_PROGRAM) authbind $(bin_dir)/.
61 $(INSTALL_FILE) $(LIBTARGET) $(lib_dir)/.
62 strip --strip-unneeded $(lib_dir)/$(LIBTARGET)
63 ln -sf $(LIBTARGET) $(lib_dir)/$(LIBCANON)
64 $(INSTALL_PROGRAM) helper $(lib_dir)/.
65 chmod u+s $(lib_dir)/helper
66 $(INSTALL_DIR) $(etc_dir) \
67 $(etc_dir)/byport $(etc_dir)/byaddr $(etc_dir)/byuid
69 install_man: $(MANPAGES_1) $(MANPAGES_8)
70 $(INSTALL_FILE) $(MANPAGES_1) $(man1_dir)/.
71 $(INSTALL_FILE) $(MANPAGES_8) $(man8_dir)/.
73 libauthbind.o: libauthbind.c authbind.h
74 $(CC) -D_REENTRANT $(CFLAGS) $(CPPFLAGS) -c -o $@ -fPIC $<
79 helper.o authbind.o: authbind.h
81 $(LIBTARGET): libauthbind.o
82 ld -shared -soname $(LIBCANON) -o $@ $< -ldl -lc
85 rm -f $(TARGETS) *.o *~ ./#*# *.bak *.new core libauthbind.so*