# $Id: Makefile,v 1.12 2002/03/02 19:37:36 sverrehu Exp $ DIST = shhmsg VERMAJ = 1 VERMIN = 4 VERPAT = 1 VERSION = $(VERMAJ).$(VERMIN).$(VERPAT) # Define SHARED as 1 for Linux shared ELF library #SHARED = 1 ifeq ($(SHARED),1) LIBTARGET = lib$(DIST).so.$(VERSION) LIBTARGETSO = lib$(DIST).so LIBTARGETSOMAJ = $(LIBTARGETSO).$(VERMAJ) CCSHRD = -fPIC else LIBTARGET = lib$(DIST).a endif LIBHEAD = $(DIST).h TARGETS = $(LIBTARGET) INSTBASEDIR = /usr/local INSTLIBDIR = $(INSTBASEDIR)/lib INSTINCDIR = $(INSTBASEDIR)/include INSTALL = install -m 644 INSTALLPROG = install -m 755 MKDIRP = install -d -m 755 CC = gcc OPTIM = -O2 INCDIR = -I. CCOPT = -s -Wall $(OPTIM) $(INCDIR) -DHAVE_STRERROR # Object files to store in the library LIBOBJS = vars.o streams.o progname.o \ errno.o error.o fatal.o message.o verbose.o all: $(TARGETS) $(LIBTARGET): $(LIBOBJS) ifeq ($(SHARED),1) $(CC) -shared -Wl,-soname,$(LIBTARGETSOMAJ) -o $(LIBTARGET) $(LIBOBJS) else ar rcs $(LIBTARGET) $(LIBOBJS) endif .c.o: $(CC) $(CCSHRD) -o $@ -c $(CCOPT) $< depend dep: $(CC) $(INCDIR) -MM *.c >depend install: $(LIBTARGET) $(MKDIRP) $(INSTLIBDIR) $(INSTINCDIR) $(INSTALL) $(LIBTARGET) $(INSTLIBDIR) $(INSTALL) $(LIBHEAD) $(INSTINCDIR) ifeq ($(SHARED),1) ln -sf $(LIBTARGET) $(INSTLIBDIR)/$(LIBTARGETSOMAJ) ln -sf $(LIBTARGETSOMAJ) $(INSTLIBDIR)/$(LIBTARGETSO) echo "Now run ldconfig if necessary." endif clean: rm -f *.o core *~ depend chmod: chmod a+r * # To let the author make a distribution. The rest of the Makefile # should be used by the author only. LSMFILE = $(DIST)-$(VERSION).lsm DISTDIR = $(DIST)-$(VERSION) DISTFILE = $(DIST)-$(VERSION).tar.gz DISTFILES = README INSTALL shhmsg.txt CREDITS ChangeLog \ Makefile $(LSMFILE) \ $(LIBHEAD) \ internal.h \ errno.c \ error.c \ fatal.c \ message.c \ progname.c \ streams.c \ vars.c \ verbose.c $(LSMFILE): $(DIST).lsm.in VER=$(VERSION); \ DATE=`date "+%d%b%y"|tr '[a-z]' '[A-Z]'`; \ sed -e "s/VER/$$VER/g;s/DATE/$$DATE/g" $(DIST).lsm.in > $(LSMFILE) veryclean: clean rm -f $(TARGETS) $(DISTFILE) $(LSMFILE) dist: $(LSMFILE) chmod mkdir $(DISTDIR) chmod a+rx $(DISTDIR) ln $(DISTFILES) $(DISTDIR) tar -cvzf $(DISTFILE) $(DISTDIR) chmod a+r $(DISTFILE) rm -rf $(DISTDIR) ifeq (depend,$(wildcard depend)) include depend endif