--- a/Makefile +++ b/Makefile @@ -4,8 +4,9 @@ # (c) 2007-2013 Thomas Bernard # http://miniupnp.free.fr/libnatpmp.html +GENTOO_LIBDIR ?= lib OS = $(shell uname -s) -CC = gcc +CC ?= gcc INSTALL = install -p ARCH = $(shell uname -m | sed -e s/i.86/i686/) VERSION = $(shell cat VERSION) @@ -35,7 +36,6 @@ OBJS = $(LIBOBJS) testgetgateway.o natpmpc.o natpmp-jni.o -STATICLIB = libnatpmp.a ifeq ($(OS), Darwin) SHAREDLIB = libnatpmp.dylib JNISHAREDLIB = libjninatpmp.dylib @@ -58,11 +58,11 @@ HEADERS = natpmp.h -EXECUTABLES = testgetgateway natpmpc-shared natpmpc-static +EXECUTABLES = testgetgateway natpmpc-shared INSTALLPREFIX ?= $(PREFIX)/usr INSTALLDIRINC = $(INSTALLPREFIX)/include -INSTALLDIRLIB = $(INSTALLPREFIX)/lib +INSTALLDIRLIB = $(INSTALLPREFIX)/$(GENTOO_LIBDIR) INSTALLDIRBIN = $(INSTALLPREFIX)/bin JAVA ?= java @@ -74,9 +74,9 @@ .PHONY: all clean depend install cleaninstall installpythonmodule -all: $(STATICLIB) $(SHAREDLIB) $(EXECUTABLES) +all: $(SHAREDLIB) $(EXECUTABLES) -pythonmodule: $(STATICLIB) libnatpmpmodule.c setup.py +pythonmodule: libnatpmpmodule.c setup.py python setup.py build touch $@ @@ -84,18 +84,17 @@ python setup.py install clean: - $(RM) $(OBJS) $(EXECUTABLES) $(STATICLIB) $(SHAREDLIB) $(JAVACLASSES) $(JNISHAREDLIB) + $(RM) $(OBJS) $(EXECUTABLES) $(SHAREDLIB) $(JAVACLASSES) $(JNISHAREDLIB) $(RM) pythonmodule $(RM) -r build/ dist/ libraries/ depend: makedepend -f$(MAKEFILE_LIST) -Y $(OBJS:.o=.c) 2>/dev/null -install: $(HEADERS) $(STATICLIB) $(SHAREDLIB) natpmpc-shared +install: $(HEADERS) $(SHAREDLIB) natpmpc-shared $(INSTALL) -d $(INSTALLDIRINC) $(INSTALL) -m 644 $(HEADERS) $(INSTALLDIRINC) $(INSTALL) -d $(INSTALLDIRLIB) - $(INSTALL) -m 644 $(STATICLIB) $(INSTALLDIRLIB) $(INSTALL) -m 644 $(SHAREDLIB) $(INSTALLDIRLIB)/$(SONAME) $(INSTALL) -d $(INSTALLDIRBIN) $(INSTALL) -m 755 natpmpc-shared $(INSTALLDIRBIN)/natpmpc @@ -147,25 +146,18 @@ $(RM) $(addprefix $(INSTALLDIRINC), $(HEADERS)) $(RM) $(INSTALLDIRLIB)/$(SONAME) $(RM) $(INSTALLDIRLIB)/$(SHAREDLIB) - $(RM) $(INSTALLDIRLIB)/$(STATICLIB) testgetgateway: testgetgateway.o getgateway.o $(CC) $(LDFLAGS) -o $@ $^ $(EXTRA_LD) -natpmpc-static: natpmpc.o $(STATICLIB) - $(CC) $(LDFLAGS) -o $@ $^ $(EXTRA_LD) - natpmpc-shared: natpmpc.o $(SHAREDLIB) - $(CC) $(LDFLAGS) -o $@ $^ $(EXTRA_LD) - -$(STATICLIB): $(LIBOBJS) - $(AR) crs $@ $? + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(EXTRA_LD) $(SHAREDLIB): $(LIBOBJS) ifeq ($(OS), Darwin) - $(CC) -dynamiclib -Wl,-install_name,$(SONAME) -o $@ $^ + $(CC) $(CFLAGS) $(LDFLAGS) -dynamiclib -Wl,-install_name,$(SONAME) -o $@ $^ else - $(CC) -shared -Wl,-soname,$(SONAME) -o $@ $^ $(EXTRA_LD) + $(CC) $(CFLAGS) $(LDFLAGS) -shared -Wl,-soname,$(SONAME) -o $@ $^ $(EXTRA_LD) endif