X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=authbind.git;a=blobdiff_plain;f=Makefile;h=c1eed73edda96b2e516b51377ec94bc963911dc9;hp=5618a5fadb87a2fc8699deb8e7e6565688153306;hb=d78fb137e25ebe72cd0bd3523f6204ac8e3f5e28;hpb=8ddfdffdd892f3ab3fb42c10ff5abd6653f7c166 diff --git a/Makefile b/Makefile index 5618a5f..c1eed73 100644 --- a/Makefile +++ b/Makefile @@ -1,19 +1,89 @@ +# Makefile for authbind +# +# authbind is Copyright (C) 1998 Ian Jackson # +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +prefix=/usr/local + +bin_dir=$(prefix)/bin +lib_dir=$(prefix)/lib/authbind +libexec_dir=$(lib_dir) + +share_dir=$(prefix)/share +man_dir=$(share_dir)/man +man1_dir=$(man_dir)/man1 +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 +STRIP ?= strip + OPTIMISE= -O2 +LDFLAGS= -g +LIBS= -ldl -lc 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='"$(libexec_dir)/$(HELPER)"' -DCONFIGDIR='"$(etc_dir)"' \ + -D_GNU_SOURCE + +MAJOR=1 +MINOR=0 +LIBCANON= libauthbind.so.$(MAJOR) +LIBTARGET= $(LIBCANON).$(MINOR) +BINTARGETS= authbind +HELPER= helper -TARGETS= authbind helper libauthbind.so.0.1 +TARGETS= $(BINTARGETS) $(HELPER) $(LIBTARGET) +MANPAGES_1= authbind.1 +MANPAGES_8= authbind-helper.8 all: $(TARGETS) -libauthbind.o: libauthbind.c - gcc -D_REENTRANT -g $(CFLAGS) -c -o libauthbind.o -fPIC libauthbind.c +install: $(TARGETS) + $(INSTALL_DIR) $(lib_dir) $(man1_dir) $(man8_dir) + $(INSTALL_PROGRAM) $(BINTARGETS) $(bin_dir)/. + $(INSTALL_FILE) $(LIBTARGET) $(lib_dir)/. + $(STRIP) --strip-unneeded $(lib_dir)/$(LIBTARGET) + ln -sf $(LIBTARGET) $(lib_dir)/$(LIBCANON) + $(INSTALL_PROGRAM) $(HELPER) $(libexec_dir)/. + chmod u+s $(libexec_dir)/$(HELPER) + $(INSTALL_DIR) $(etc_dir) \ + $(etc_dir)/byport $(etc_dir)/byaddr $(etc_dir)/byuid + +install_man: $(MANPAGES_1) $(MANPAGES_8) + $(INSTALL_FILE) $(MANPAGES_1) $(man1_dir)/. + $(INSTALL_FILE) $(MANPAGES_8) $(man8_dir)/. + +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 -libauthbind.so.0.1: libauthbind.o - gcc -g -shared -Wl,-soname,libauthbind.so.0.1 -o libauthbind.so.0.1 libauthbind.o -ldl -lc +$(LIBTARGET): libauthbind.o + ld -shared -soname $(LIBCANON) -o $@ $< $(LIBS) -clean distclean: - rm -f $(TARGETS) *.o *~ ./#*# *.bak debian/*~ - rm -f core libauthbind.so* +clean distclean: + rm -f $(TARGETS) *.o *~ ./#*# *.bak *.new core + rm -f libauthbind.so* *.core