1CC = c++ 2AR = ar cru 3RANLIB = ranlib 4MAJOR_VERSION = 1 5MINOR_VERSION = 6 6PATCH_LEVEL = 8 7VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_LEVEL) 8LIBDIR = /usr/lib 9INCDIR = /usr/include 10INCLUDE = -I../include 11LIBNAME = NL 12OUTPUT = lib$(LIBNAME).$(VERSION).dylib 13STATIC = libNL.a 14OPTFLAGS = -funroll-all-loops -ffast-math -fomit-frame-pointer -O2 -D_REENTRANT -DMACOSX 15CFLAGS = -Wall -fPIC $(INCLUDE) $(OPTFLAGS) 16LIBFLAGS = -dylib -r -lpthread -Wl,-x 17OBJECTS = crc.o errorstr.o nl.o sock.o group.o loopback.o err.o thread.o mutex.o condition.o nltime.o 18 19all: $(OBJECTS) 20 $(CC) -o $(OUTPUT) $(OBJECTS) $(LIBFLAGS) $(CFLAGS) 21 $(AR) $(STATIC) $(OBJECTS) 22 $(RANLIB) $(STATIC) 23 24nl.o : nlinternal.h nl.c 25sock.o : nlinternal.h sock.h sock.c 26errorstr.o : nlinternal.h errorstr.c 27crc.o : ../include/nl.h crc.c 28group.o : nlinternal.h group.c 29loopback.o : nlinternal.h loopback.h loopback.c 30err.o : nlinternal.h err.c 31thread.o : nlinternal.h thread.c 32mutex.o : nlinternal.h mutex.c 33condition.o : nlinternal.h condition.c 34nltime.o : nlinternal.h nltime.c 35 36install: 37 @echo "" 38 @echo "*************************************************" 39 @echo "* If you forgot to su to root, this probably *" 40 @echo "* wont work *" 41 @echo "*************************************************" 42 cp $(OUTPUT) $(LIBDIR) 43 cp $(STATIC) $(LIBDIR) 44 chmod 755 $(LIBDIR)/$(OUTPUT) 45 ln -s $(LIBDIR)/$(OUTPUT) $(LIBDIR)/lib$(LIBNAME).$(MAJOR_VERSION).$(MINOR_VERSION).dylib 46 ln -s $(LIBDIR)/$(OUTPUT) $(LIBDIR)/lib$(LIBNAME).$(MAJOR_VERSION).dylib 47 ln -s $(LIBDIR)/$(OUTPUT) $(LIBDIR)/lib$(LIBNAME).dylib 48 cp ../include/nl.h $(INCDIR)/nl.h 49 chmod 644 $(INCDIR)/nl.h 50 @echo "" 51 @echo "*************************************************" 52 @echo "* Installed HawkNL. *" 53 @echo "* Remember to run /sbin/ldconfig before using *" 54 @echo "* the library, you may also want to check that *" 55 @echo "* $(LIBDIR) is included in /etc/ld.so.conf *" 56 @echo "* You must be root to run ldconfig. *" 57 @echo "*************************************************" 58 59uninstall: 60 @echo "" 61 @echo "*************************************************" 62 @echo "* If you forgot to su to root, this probably *" 63 @echo "* wont work *" 64 @echo "*************************************************" 65 rm -f $(LIBDIR)/$(OUTPUT) 66 rm -f $(LIBDIR)/lib$(LIBNAME).so.$(MAJOR_VERSION).$(MINOR_VERSION) 67 rm -f $(LIBDIR)/lib$(LIBNAME).so.$(MAJOR_VERSION) 68 rm -f $(LIBDIR)/lib$(LIBNAME).so 69 rm -f $(LIBDIR)/$(STATIC) 70 rm -f $(INCDIR)/nl.h 71 @echo "" 72 @echo "*************************************************" 73 @echo "* HawkNL uninstalled. *" 74 @echo "*************************************************" 75 76.PHONY : clean 77clean: 78 rm $(OBJECTS) $(OUTPUT) $(STATIC) 79 80 81