123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- # $Id: Makefile,v 1.48 2008/12/18 17:46:13 nanard Exp $
- # MiniUPnP Project
- # http://miniupnp.free.fr/
- # (c) 2005-2007 Thomas Bernard
- # to install use :
- # $ PREFIX=/tmp/dummylocation make install
- # or
- # $ INSTALLPREFIX=/usr/local make install
- # or
- # make install (will go to /usr/bin, /usr/lib, etc...)
- CC ?= gcc
- #AR = gar
- #CFLAGS = -fPIC -O -Wall -g -DDEBUG
- CFLAGS ?= -fPIC -O -Wall -DNDEBUG
- INSTALL = install
- #following libs are needed on Solaris
- #LDLIBS=-lsocket -lnsl -lresolv
- # APIVERSION is used to build SONAME
- APIVERSION = 4
- SRCS = igd_desc_parse.c miniupnpc.c minixml.c minisoap.c miniwget.c \
- upnpc.c upnpcommands.c upnpreplyparse.c testminixml.c \
- minixmlvalid.c testupnpreplyparse.c minissdpc.c \
- upnperrors.c testigddescparse.c
- LIBOBJS = miniwget.o minixml.o igd_desc_parse.o minisoap.o \
- miniupnpc.o upnpreplyparse.o upnpcommands.o minissdpc.o \
- upnperrors.o
- OBJS = $(patsubst %.c,%.o,$(SRCS))
- # HEADERS to install
- HEADERS = miniupnpc.h miniwget.h upnpcommands.h igd_desc_parse.h \
- upnpreplyparse.h upnperrors.h declspec.h
- LIBRARY = libminiupnpc.a
- SHAREDLIBRARY = libminiupnpc.so
- SONAME = $(SHAREDLIBRARY).$(APIVERSION)
- EXECUTABLES = upnpc-static upnpc-shared \
- testminixml minixmlvalid testupnpreplyparse \
- testigddescparse
- INSTALLPREFIX ?= $(PREFIX)/usr
- INSTALLDIRINC = $(INSTALLPREFIX)/include/miniupnpc
- INSTALLDIRLIB = $(INSTALLPREFIX)/lib
- INSTALLDIRBIN = $(INSTALLPREFIX)/bin
- .PHONY: install clean depend all installpythonmodule
- all: validateminixml $(LIBRARY) $(EXECUTABLES)
- pythonmodule: $(LIBRARY) miniupnpcmodule.c setup.py
- python setup.py build
- touch $@
- installpythonmodule: pythonmodule
- python setup.py install
- validateminixml: minixmlvalid
- @echo "minixml validation test"
- ./minixmlvalid
- touch $@
- clean:
- $(RM) $(LIBRARY) $(SHAREDLIBRARY) $(EXECUTABLES) $(OBJS)
- # clean python stuff
- $(RM) pythonmodule validateminixml
- $(RM) -r build/ dist/
- #python setup.py clean
- install: $(LIBRARY) $(SHAREDLIBRARY)
- $(INSTALL) -d $(INSTALLDIRINC)
- $(INSTALL) -m 644 $(HEADERS) $(INSTALLDIRINC)
- $(INSTALL) -d $(INSTALLDIRLIB)
- $(INSTALL) -m 644 $(LIBRARY) $(INSTALLDIRLIB)
- $(INSTALL) -m 644 $(SHAREDLIBRARY) $(INSTALLDIRLIB)/$(SONAME)
- $(INSTALL) -d $(INSTALLDIRBIN)
- $(INSTALL) -m 755 upnpc-shared $(INSTALLDIRBIN)/upnpc
- ln -fs $(SONAME) $(INSTALLDIRLIB)/$(SHAREDLIBRARY)
- cleaninstall:
- $(RM) -r $(INSTALLDIRINC)
- $(RM) $(INSTALLDIRLIB)/$(LIBRARY)
- $(RM) $(INSTALLDIRLIB)/$(SHAREDLIBRARY)
- depend:
- makedepend -Y -- $(CFLAGS) -- $(SRCS) 2>/dev/null
- $(LIBRARY): $(LIBOBJS)
- $(AR) crs $@ $?
- $(SHAREDLIBRARY): $(LIBOBJS)
- $(CC) -shared -Wl,-soname,$(SONAME) -o $@ $^
- upnpc-static: upnpc.o $(LIBRARY)
- $(CC) -o $@ $^
- upnpc-shared: upnpc.o $(SHAREDLIBRARY)
- $(CC) -o $@ $^
- testminixml: minixml.o igd_desc_parse.o testminixml.o
- minixmlvalid: minixml.o minixmlvalid.o
- testupnpreplyparse: testupnpreplyparse.o minixml.o upnpreplyparse.o
- testigddescparse: testigddescparse.o igd_desc_parse.o minixml.o
- # DO NOT DELETE THIS LINE -- make depend depends on it.
- igd_desc_parse.o: igd_desc_parse.h
- miniupnpc.o: miniupnpc.h declspec.h igd_desc_parse.h minissdpc.h miniwget.h
- miniupnpc.o: minisoap.h minixml.h upnpcommands.h upnpreplyparse.h
- minixml.o: minixml.h
- minisoap.o: minisoap.h miniupnpcstrings.h
- miniwget.o: miniupnpc.h declspec.h igd_desc_parse.h miniupnpcstrings.h
- upnpc.o: miniwget.h declspec.h miniupnpc.h igd_desc_parse.h upnpcommands.h
- upnpc.o: upnpreplyparse.h upnperrors.h
- upnpcommands.o: upnpcommands.h upnpreplyparse.h declspec.h miniupnpc.h
- upnpcommands.o: igd_desc_parse.h
- upnpreplyparse.o: upnpreplyparse.h minixml.h
- testminixml.o: minixml.h igd_desc_parse.h
- minixmlvalid.o: minixml.h
- testupnpreplyparse.o: upnpreplyparse.h
- minissdpc.o: minissdpc.h miniupnpc.h declspec.h igd_desc_parse.h codelength.h
- upnperrors.o: upnperrors.h declspec.h upnpcommands.h upnpreplyparse.h
- testigddescparse.o: igd_desc_parse.h minixml.h
|