version 1.1.1.1, 2012/02/21 23:16:22
|
version 1.1.1.3, 2023/09/27 11:21:37
|
Line 1
|
Line 1
|
# $Id$ |
# $Id$ |
# MiniUPnP Project |
# MiniUPnP Project |
# http://miniupnp.free.fr/ |
# http://miniupnp.free.fr/ |
# (c) 2005-2011 Thomas Bernard | # https://miniupnp.tuxfamily.org/ |
| # https://github.com/miniupnp/miniupnp |
| # (c) 2005-2022 Thomas Bernard |
# to install use : |
# to install use : |
# $ PREFIX=/tmp/dummylocation make install | # $ make DESTDIR=/tmp/dummylocation install |
# or |
# or |
# $ INSTALLPREFIX=/usr/local make install |
# $ INSTALLPREFIX=/usr/local make install |
# or | # or |
# make install (will go to /usr/bin, /usr/lib, etc...) | # $ make install (default INSTALLPREFIX is /usr) |
OS = $(shell uname -s) | OS = $(shell $(CC) -dumpmachine) |
| VERSION = $(shell cat VERSION) |
| |
| ifneq (, $(findstring darwin, $(OS))) |
| JARSUFFIX=mac |
| LIBTOOL ?= $(shell which libtool) |
| endif |
| ifneq (, $(findstring linux, $(OS))) |
| JARSUFFIX=linux |
| endif |
| ifneq (, $(findstring mingw, $(OS))$(findstring cygwin, $(OS))$(findstring msys, $(OS))) |
| JARSUFFIX=win32 |
| endif |
| |
| HAVE_IPV6 ?= yes |
| export HAVE_IPV6 |
| |
| # directories |
| INCDIR = include |
| SRCDIR = src |
| BUILD = build |
| |
CC ?= gcc |
CC ?= gcc |
#AR = gar |
#AR = gar |
#CFLAGS = -O -Wall -g -DDEBUG | #CFLAGS = -O -g |
CFLAGS ?= -O -Wall -DNDEBUG -DMINIUPNPC_SET_SOCKET_TIMEOUT -Wstrict-prototypes | # to debug : |
# -DNO_GETADDRINFO | ASANFLAGS = -fsanitize=address -fsanitize=undefined -fsanitize=leak |
| #CFLAGS = -g -ggdb -O0 $(ASANFLAGS) -fno-omit-frame-pointer |
| #CPPFLAGS += -DDEBUG |
| #LDFLAGS += $(ASANFLAGS) |
| CFLAGS ?= -O |
| CFLAGS += -Wall |
| CFLAGS += -W -Wstrict-prototypes |
| CFLAGS += -fno-common |
| CPPFLAGS += -I$(BUILD) |
| CPPFLAGS += -DMINIUPNPC_SET_SOCKET_TIMEOUT |
| CPPFLAGS += -DMINIUPNPC_GET_SRC_ADDR |
| CPPFLAGS += -D_BSD_SOURCE |
| CPPFLAGS += -D_DEFAULT_SOURCE |
| ifneq (, $(findstring netbsd, $(OS))) |
| CPPFLAGS += -D_NETBSD_SOURCE |
| endif |
| ifeq (, $(findstring freebsd, $(OS))$(findstring darwin, $(OS))) |
| #CPPFLAGS += -D_POSIX_C_SOURCE=200112L |
| CPPFLAGS += -D_XOPEN_SOURCE=600 |
| endif |
| #CFLAGS += -ansi |
| #CPPFLAGS += -DNO_GETADDRINFO |
| |
| DEPFLAGS = -MM -MG |
| |
| MKDIR = mkdir -p |
INSTALL = install |
INSTALL = install |
SH = /bin/sh |
SH = /bin/sh |
JAVA = java |
JAVA = java |
# see http://code.google.com/p/jnaerator/ |
# see http://code.google.com/p/jnaerator/ |
JNAERATOR = jnaerator-0.9.3.jar | #JNAERATOR = jnaerator-0.9.7.jar |
#following libs are needed on Solaris | #JNAERATOR = jnaerator-0.9.8-shaded.jar |
#LDLIBS=-lsocket -lnsl -lresolv | #JNAERATORARGS = -library miniupnpc |
| #JNAERATOR = jnaerator-0.10-shaded.jar |
| #JNAERATOR = jnaerator-0.11-shaded.jar |
| # https://repo1.maven.org/maven2/com/nativelibs4java/jnaerator/0.12/jnaerator-0.12-shaded.jar |
| JNAERATOR = jnaerator-0.12-shaded.jar |
| JNAERATORARGS = -mode StandaloneJar -runtime JNAerator -library miniupnpc |
| #JNAERATORBASEURL = http://jnaerator.googlecode.com/files/ |
| JNAERATORBASEURL = https://repo1.maven.org/maven2/com/nativelibs4java/jnaerator/0.12 |
|
|
|
ifneq (, $(findstring sun, $(OS))$(findstring solaris, $(OS))) |
|
LDLIBS=-lsocket -lnsl -lresolv |
|
CPPFLAGS += -D__EXTENSIONS__ |
|
CFLAGS += -std=c99 |
|
endif |
|
|
# APIVERSION is used to build SONAME |
# APIVERSION is used to build SONAME |
APIVERSION = 8 | APIVERSION = 17 |
|
|
SRCS = igd_desc_parse.c miniupnpc.c minixml.c minisoap.c miniwget.c \ | SRCS = $(wildcard $(SRCDIR)/*.c) |
upnpc.c upnpcommands.c upnpreplyparse.c testminixml.c \ | |
minixmlvalid.c testupnpreplyparse.c minissdpc.c \ | |
upnperrors.c testigddescparse.c testminiwget.c \ | |
connecthostport.c portlistringparse.c receivedata.c | |
|
|
LIBOBJS = miniwget.o minixml.o igd_desc_parse.o minisoap.o \ | LIBOBJS = $(addprefix $(BUILD)/,miniwget.o minixml.o igd_desc_parse.o minisoap.o \ |
miniupnpc.o upnpreplyparse.o upnpcommands.o upnperrors.o \ |
miniupnpc.o upnpreplyparse.o upnpcommands.o upnperrors.o \ |
connecthostport.o portlistingparse.o receivedata.o | connecthostport.o portlistingparse.o receivedata.o upnpdev.o \ |
| addr_is_reserved.o) |
|
|
ifneq ($(OS), AmigaOS) | BUILDINCLUDES = $(addprefix $(BUILD)/, miniupnpcstrings.h) |
CFLAGS := -fPIC $(CFLAGS) | |
LIBOBJS := $(LIBOBJS) minissdpc.o | |
endif | |
|
|
OBJS = $(patsubst %.c,%.o,$(SRCS)) | OBJS = $(patsubst $(SRCDIR)/%.c,$(BUILD)/%.o,$(SRCS)) |
| DEPS = $(patsubst $(SRCDIR)/%.c,$(BUILD)/%.d,$(SRCS)) |
|
|
# HEADERS to install |
# HEADERS to install |
HEADERS = miniupnpc.h miniwget.h upnpcommands.h igd_desc_parse.h \ | CPPFLAGS += -I$(INCDIR) |
upnpreplyparse.h upnperrors.h miniupnpctypes.h \ | HEADERS = $(wildcard $(INCDIR)/*.h) |
portlistingparse.h \ | |
declspec.h | |
|
|
# library names |
# library names |
LIBRARY = libminiupnpc.a | LIBRARY = $(BUILD)/libminiupnpc.a |
ifeq ($(OS), Darwin) | ifneq (, $(findstring darwin, $(OS))) |
SHAREDLIBRARY = libminiupnpc.dylib | SHAREDLIBRARY = $(BUILD)/libminiupnpc.dylib |
SONAME = $(basename $(SHAREDLIBRARY)).$(APIVERSION).dylib | SONAME = $(notdir $(basename $(SHAREDLIBRARY))).$(APIVERSION).dylib |
CFLAGS := -DMACOSX -D_DARWIN_C_SOURCE $(CFLAGS) | CPPFLAGS += -D_DARWIN_C_SOURCE |
else | else |
SHAREDLIBRARY = libminiupnpc.so | ifeq ($(JARSUFFIX), win32) |
SONAME = $(SHAREDLIBRARY).$(APIVERSION) | SHAREDLIBRARY = $(BUILD)/miniupnpc.dll |
| else |
| # Linux/BSD/etc. |
| SHAREDLIBRARY = $(BUILD)/libminiupnpc.so |
| SONAME = $(notdir $(SHAREDLIBRARY)).$(APIVERSION) |
endif |
endif |
|
endif |
|
|
EXECUTABLES = upnpc-static | EXECUTABLES = $(addprefix $(BUILD)/, upnpc-static listdevices) |
EXECUTABLES_ADDTESTS = testminixml minixmlvalid testupnpreplyparse \ | EXECUTABLES_ADDTESTS = $(addprefix $(BUILD)/, testminixml minixmlvalid \ |
testigddescparse testminiwget | testupnpreplyparse testigddescparse testminiwget testportlistingparse) |
|
|
TESTMINIXMLOBJS = minixml.o igd_desc_parse.o testminixml.o | TESTMINIXMLOBJS = $(addprefix $(BUILD)/, minixml.o igd_desc_parse.o testminixml.o) |
|
|
TESTMINIWGETOBJS = miniwget.o testminiwget.o connecthostport.o receivedata.o | TESTMINIWGETOBJS = $(addprefix $(BUILD)/, miniwget.o testminiwget.o connecthostport.o receivedata.o) |
|
|
TESTUPNPREPLYPARSE = testupnpreplyparse.o minixml.o upnpreplyparse.o | TESTUPNPREPLYPARSE = $(addprefix $(BUILD)/, testupnpreplyparse.o minixml.o upnpreplyparse.o) |
|
|
TESTIGDDESCPARSE = testigddescparse.o igd_desc_parse.o minixml.o \ | TESTPORTLISTINGPARSE = $(addprefix $(BUILD)/, testportlistingparse.o minixml.o portlistingparse.o) |
| |
| TESTADDR_IS_RESERVED = $(addprefix $(BUILD)/, testaddr_is_reserved.o addr_is_reserved.o) |
| |
| TESTIGDDESCPARSE = $(addprefix $(BUILD)/, testigddescparse.o igd_desc_parse.o minixml.o \ |
miniupnpc.o miniwget.o upnpcommands.o upnpreplyparse.o \ |
miniupnpc.o miniwget.o upnpcommands.o upnpreplyparse.o \ |
minisoap.o connecthostport.o receivedata.o \ |
minisoap.o connecthostport.o receivedata.o \ |
portlistingparse.o | portlistingparse.o addr_is_reserved.o) |
|
|
ifneq ($(OS), AmigaOS) | ifeq (, $(findstring amiga, $(OS))) |
EXECUTABLES := $(EXECUTABLES) upnpc-shared | ifeq (, $(findstring mingw, $(OS))$(findstring cygwin, $(OS))$(findstring msys, $(OS))) |
TESTMINIWGETOBJS := $(TESTMINIWGETOBJS) minissdpc.o | CFLAGS += -fPIC |
TESTIGDDESCPARSE := $(TESTIGDDESCPARSE) minissdpc.o | |
endif |
endif |
|
EXECUTABLES += $(BUILD)/upnpc-shared |
|
TESTMINIWGETOBJS += $(BUILD)/minissdpc.o |
|
TESTIGDDESCPARSE += $(BUILD)/minissdpc.o |
|
LIBOBJS += $(BUILD)/minissdpc.o |
|
endif |
|
|
# install directories |
# install directories |
INSTALLPREFIX ?= $(PREFIX)/usr | ifeq ($(strip $(PREFIX)),) |
| INSTALLPREFIX ?= /usr |
| else |
| INSTALLPREFIX ?= $(PREFIX) |
| endif |
INSTALLDIRINC = $(INSTALLPREFIX)/include/miniupnpc |
INSTALLDIRINC = $(INSTALLPREFIX)/include/miniupnpc |
INSTALLDIRLIB = $(INSTALLPREFIX)/lib |
INSTALLDIRLIB = $(INSTALLPREFIX)/lib |
INSTALLDIRBIN = $(INSTALLPREFIX)/bin |
INSTALLDIRBIN = $(INSTALLPREFIX)/bin |
|
INSTALLDIRMAN = $(INSTALLPREFIX)/man |
|
PKGCONFIGDIR = $(INSTALLDIRLIB)/pkgconfig |
|
|
FILESTOINSTALL = $(LIBRARY) $(EXECUTABLES) |
FILESTOINSTALL = $(LIBRARY) $(EXECUTABLES) |
ifneq ($(OS), AmigaOS) | ifeq (, $(findstring amiga, $(OS))) |
FILESTOINSTALL := $(FILESTOINSTALL) $(SHAREDLIBRARY) | FILESTOINSTALL += $(SHAREDLIBRARY) $(BUILD)/miniupnpc.pc |
endif |
endif |
|
|
|
|
.PHONY: install clean depend all check everything \ | .PHONY: install clean depend all check test everything \ |
installpythonmodule | installpythonmodule updateversion |
# validateminixml validateminiwget | |
|
|
all: $(LIBRARY) $(EXECUTABLES) |
all: $(LIBRARY) $(EXECUTABLES) |
|
|
check: validateminixml validateminiwget | test: check |
|
|
|
check: validateminixml validateminiwget validateupnpreplyparse \ |
|
validateportlistingparse validateigddescparse validateaddr_is_reserved |
|
|
everything: all $(EXECUTABLES_ADDTESTS) |
everything: all $(EXECUTABLES_ADDTESTS) |
|
|
pythonmodule: $(LIBRARY) miniupnpcmodule.c setup.py | pythonmodule: $(LIBRARY) $(SRCDIR)/miniupnpcmodule.c setup.py |
python setup.py build | MAKE=$(MAKE) python setup.py build |
touch $@ |
touch $@ |
|
|
installpythonmodule: pythonmodule |
installpythonmodule: pythonmodule |
python setup.py install | MAKE=$(MAKE) python setup.py install |
|
|
validateminixml: minixmlvalid | pythonmodule3: $(LIBRARY) $(SRCDIR)/miniupnpcmodule.c setup.py |
| MAKE=$(MAKE) python3 setup.py build |
| touch $@ |
| |
| installpythonmodule3: pythonmodule3 |
| MAKE=$(MAKE) python3 setup.py install |
| |
| validateminixml: $(BUILD)/minixmlvalid |
@echo "minixml validation test" |
@echo "minixml validation test" |
./minixmlvalid | ./$< |
touch $@ |
touch $@ |
|
|
validateminiwget: testminiwget minihttptestserver testminiwget.sh | validateminiwget: testminiwget.sh $(BUILD)/testminiwget $(BUILD)/minihttptestserver |
@echo "miniwget validation test" |
@echo "miniwget validation test" |
./testminiwget.sh | ./$< |
touch $@ |
touch $@ |
|
|
|
validateupnpreplyparse: testupnpreplyparse.sh $(BUILD)/testupnpreplyparse |
|
@echo "upnpreplyparse validation test" |
|
./$< |
|
touch $@ |
|
|
|
validateportlistingparse: $(BUILD)/testportlistingparse |
|
@echo "portlistingparse validation test" |
|
./$< |
|
touch $@ |
|
|
|
validateigddescparse: $(BUILD)/testigddescparse |
|
@echo "igd desc parse validation test" |
|
./$< testdesc/new_LiveBox_desc.xml testdesc/new_LiveBox_desc.values |
|
./$< testdesc/linksys_WAG200G_desc.xml testdesc/linksys_WAG200G_desc.values |
|
touch $@ |
|
|
|
validateaddr_is_reserved: $(BUILD)/testaddr_is_reserved |
|
@echo "addr_is_reserved() validation test" |
|
./$< |
|
touch $@ |
|
|
clean: |
clean: |
$(RM) $(LIBRARY) $(SHAREDLIBRARY) $(EXECUTABLES) $(OBJS) miniupnpcstrings.h | $(RM) $(LIBRARY) $(SHAREDLIBRARY) $(EXECUTABLES) $(OBJS) $(BUILDINCLUDES) |
| $(RM) $(EXECUTABLES_ADDTESTS) |
# clean python stuff |
# clean python stuff |
$(RM) pythonmodule validateminixml | $(RM) pythonmodule pythonmodule3 |
| $(RM) validateminixml validateminiwget validateupnpreplyparse |
| $(RM) validateigddescparse |
| $(RM) minihttptestserver |
| $(RM) testaddr_is_reserved |
$(RM) -r build/ dist/ |
$(RM) -r build/ dist/ |
#python setup.py clean |
#python setup.py clean |
|
# clean jnaerator stuff |
|
$(RM) _jnaerator.* java/miniupnpc_$(OS).jar |
|
|
install: $(FILESTOINSTALL) | distclean: clean |
$(INSTALL) -d $(INSTALLDIRINC) | $(RM) $(JNAERATOR) java/*.jar java/*.class out.errors.txt |
$(INSTALL) -m 644 $(HEADERS) $(INSTALLDIRINC) | |
$(INSTALL) -d $(INSTALLDIRLIB) | updateversion: include/miniupnpc.h |
$(INSTALL) -m 644 $(LIBRARY) $(INSTALLDIRLIB) | cp $< $<.bak |
ifneq ($(OS), AmigaOS) | sed -E 's/(.*MINIUPNPC_API_VERSION[[:space:]]+)[0-9]+/\1$(APIVERSION)/' < $<.bak > $< |
$(INSTALL) -m 644 $(SHAREDLIBRARY) $(INSTALLDIRLIB)/$(SONAME) | |
ln -fs $(SONAME) $(INSTALLDIRLIB)/$(SHAREDLIBRARY) | install: updateversion $(FILESTOINSTALL) |
| $(INSTALL) -d $(DESTDIR)$(INSTALLDIRINC) |
| $(INSTALL) -m 644 $(HEADERS) $(DESTDIR)$(INSTALLDIRINC) |
| $(INSTALL) -d $(DESTDIR)$(INSTALLDIRLIB) |
| $(INSTALL) -m 644 $(LIBRARY) $(DESTDIR)$(INSTALLDIRLIB) |
| ifeq (, $(findstring amiga, $(OS))) |
| $(INSTALL) -m 644 $(SHAREDLIBRARY) $(DESTDIR)$(INSTALLDIRLIB)/$(SONAME) |
| ln -fs $(SONAME) $(DESTDIR)$(INSTALLDIRLIB)/$(notdir $(SHAREDLIBRARY)) |
| $(INSTALL) -d $(DESTDIR)$(PKGCONFIGDIR) |
| $(INSTALL) -m 644 $(BUILD)/miniupnpc.pc $(DESTDIR)$(PKGCONFIGDIR) |
endif |
endif |
$(INSTALL) -d $(INSTALLDIRBIN) | $(INSTALL) -d $(DESTDIR)$(INSTALLDIRBIN) |
ifeq ($(OS), AmigaOS) | ifneq (, $(findstring amiga, $(OS))) |
$(INSTALL) -m 755 upnpc-static $(INSTALLDIRBIN)/upnpc | $(INSTALL) -m 755 $(BUILD)/upnpc-static $(DESTDIR)$(INSTALLDIRBIN)/upnpc |
else |
else |
$(INSTALL) -m 755 upnpc-shared $(INSTALLDIRBIN)/upnpc | $(INSTALL) -m 755 $(BUILD)/upnpc-shared $(DESTDIR)$(INSTALLDIRBIN)/upnpc |
endif |
endif |
$(INSTALL) -m 755 external-ip.sh $(INSTALLDIRBIN)/external-ip | $(INSTALL) -m 755 external-ip.sh $(DESTDIR)$(INSTALLDIRBIN)/external-ip |
| ifeq (, $(findstring amiga, $(OS))) |
| $(INSTALL) -d $(DESTDIR)$(INSTALLDIRMAN)/man3 |
| $(INSTALL) -m 644 man3/miniupnpc.3 $(DESTDIR)$(INSTALLDIRMAN)/man3/miniupnpc.3 |
| ifneq (, $(findstring linux, $(OS))) |
| gzip -f $(DESTDIR)$(INSTALLDIRMAN)/man3/miniupnpc.3 |
| endif |
| endif |
|
|
|
install-static: updateversion $(FILESTOINSTALL) |
|
$(INSTALL) -d $(DESTDIR)$(INSTALLDIRINC) |
|
$(INSTALL) -m 644 $(HEADERS) $(DESTDIR)$(INSTALLDIRINC) |
|
$(INSTALL) -d $(DESTDIR)$(INSTALLDIRLIB) |
|
$(INSTALL) -m 644 $(LIBRARY) $(DESTDIR)$(INSTALLDIRLIB) |
|
$(INSTALL) -d $(DESTDIR)$(INSTALLDIRBIN) |
|
$(INSTALL) -m 755 external-ip.sh $(DESTDIR)$(INSTALLDIRBIN)/external-ip |
|
|
cleaninstall: |
cleaninstall: |
$(RM) -r $(INSTALLDIRINC) | $(RM) -r $(DESTDIR)$(INSTALLDIRINC) |
$(RM) $(INSTALLDIRLIB)/$(LIBRARY) | $(RM) $(DESTDIR)$(INSTALLDIRLIB)/$(LIBRARY) |
$(RM) $(INSTALLDIRLIB)/$(SHAREDLIBRARY) | $(RM) $(DESTDIR)$(INSTALLDIRLIB)/$(SHAREDLIBRARY) |
|
|
depend: | $(BUILD)/miniupnpc.pc: VERSION |
makedepend -Y -- $(CFLAGS) -- $(SRCS) 2>/dev/null | @$(MKDIR) $(@D) |
| $(RM) $@ |
| echo "prefix=$(INSTALLPREFIX)" >> $@ |
| echo "exec_prefix=\$${prefix}" >> $@ |
| echo "libdir=\$${exec_prefix}/$(LIBDIR)" >> $@ |
| echo "includedir=\$${prefix}/include" >> $@ |
| echo "" >> $@ |
| echo "Name: miniUPnPc" >> $@ |
| echo "Description: UPnP IGD client lightweight library" >> $@ |
| echo "URL: https://miniupnp.tuxfamily.org/" >> $@ |
| echo "Version: $(VERSION)" >> $@ |
| echo "Libs: -L\$${libdir} -lminiupnpc" >> $@ |
| echo "Cflags: -I\$${includedir}" >> $@ |
|
|
|
depend: $(DEPS) |
|
|
$(LIBRARY): $(LIBOBJS) |
$(LIBRARY): $(LIBOBJS) |
|
ifneq (, $(findstring darwin, $(OS))) |
|
$(LIBTOOL) -static -o $@ $? |
|
else |
$(AR) crs $@ $? |
$(AR) crs $@ $? |
|
endif |
|
|
$(SHAREDLIBRARY): $(LIBOBJS) |
$(SHAREDLIBRARY): $(LIBOBJS) |
ifeq ($(OS), Darwin) | ifneq (, $(findstring darwin, $(OS))) |
$(CC) -dynamiclib $(LDFLAGS) -Wl,-install_name,$(SONAME) -o $@ $^ | # $(CC) -dynamiclib $(LDFLAGS) -Wl,-install_name,$(SONAME) -o $@ $^ |
| $(CC) -dynamiclib $(LDFLAGS) -Wl,-install_name,$(INSTALLDIRLIB)/$(SONAME) -o $@ $^ |
else |
else |
$(CC) -shared $(LDFLAGS) -Wl,-soname,$(SONAME) -o $@ $^ |
$(CC) -shared $(LDFLAGS) -Wl,-soname,$(SONAME) -o $@ $^ |
endif |
endif |
|
|
upnpc-static: upnpc.o $(LIBRARY) $(LDLIBS) | $(BUILD)/%.o: $(SRCDIR)/%.c $(BUILD)/%.d |
$(CC) $(LDFLAGS) -o $@ $^ | $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $< |
|
|
upnpc-shared: upnpc.o $(SHAREDLIBRARY) $(LDLIBS) | $(DEPS): $(BUILDINCLUDES) |
$(CC) $(LDFLAGS) -o $@ $^ | |
|
|
testminixml: $(TESTMINIXMLOBJS) | $(BUILD)/%.d: $(SRCDIR)/%.c |
| @$(MKDIR) $(@D) |
| $(CC) $(CPPFLAGS) $(DEPFLAGS) -MT $@ -o $@ $< |
|
|
testminiwget: $(TESTMINIWGETOBJS) | $(BUILD)/upnpc-static: $(BUILD)/upnpc.o $(LIBRARY) |
| $(CC) $(LDFLAGS) -o $@ $^ $(LOADLIBES) $(LDLIBS) |
|
|
minixmlvalid: minixml.o minixmlvalid.o | $(BUILD)/upnpc-shared: $(BUILD)/upnpc.o $(SHAREDLIBRARY) |
| $(CC) $(LDFLAGS) -o $@ $^ $(LOADLIBES) $(LDLIBS) |
|
|
testupnpreplyparse: $(TESTUPNPREPLYPARSE) | $(BUILD)/listdevices: $(BUILD)/listdevices.o $(LIBRARY) |
|
|
testigddescparse: $(TESTIGDDESCPARSE) | $(BUILD)/testminixml: $(TESTMINIXMLOBJS) |
|
|
miniupnpcstrings.h: miniupnpcstrings.h.in updateminiupnpcstrings.sh | $(BUILD)/testminiwget: $(TESTMINIWGETOBJS) |
$(SH) updateminiupnpcstrings.sh | |
|
|
jar: $(SHAREDLIBRARY) | $(BUILD)/minixmlvalid: $(addprefix $(BUILD)/, minixml.o minixmlvalid.o) |
$(JAVA) -jar $(JNAERATOR) -library miniupnpc miniupnpc.h declspec.h upnpcommands.h upnpreplyparse.h igd_desc_parse.h miniwget.h upnperrors.h $(SHAREDLIBRARY) -package fr.free.miniupnp -o . -jar java/miniupnpc_$(OS).jar -v | |
|
|
|
$(BUILD)/testupnpreplyparse: $(TESTUPNPREPLYPARSE) |
|
|
|
$(BUILD)/testigddescparse: $(TESTIGDDESCPARSE) |
|
|
|
$(BUILD)/testportlistingparse: $(TESTPORTLISTINGPARSE) |
|
|
|
$(BUILD)/testaddr_is_reserved: $(TESTADDR_IS_RESERVED) |
|
|
|
$(BUILD)/miniupnpcstrings.h: miniupnpcstrings.h.in updateminiupnpcstrings.sh VERSION |
|
@$(MKDIR) $(@D) |
|
$(SH) updateminiupnpcstrings.sh $@ $< |
|
|
|
# ftp tool supplied with OpenBSD can download files from http. |
|
jnaerator-%.jar: |
|
wget $(JNAERATORBASEURL)/$@ || \ |
|
curl -o $@ $(JNAERATORBASEURL)/$@ || \ |
|
ftp $(JNAERATORBASEURL)/$@ |
|
|
|
jar: $(SHAREDLIBRARY) $(JNAERATOR) |
|
$(JAVA) -jar $(JNAERATOR) $(JNAERATORARGS) \ |
|
miniupnpc.h miniupnpc_declspec.h upnpcommands.h upnpreplyparse.h \ |
|
igd_desc_parse.h miniwget.h upnperrors.h $(SHAREDLIBRARY) \ |
|
-package fr.free.miniupnp -o . -jar java/miniupnpc_$(JARSUFFIX).jar -v |
|
|
|
mvn_install: |
|
mvn install:install-file -Dfile=java/miniupnpc_$(JARSUFFIX).jar \ |
|
-DgroupId=com.github \ |
|
-DartifactId=miniupnp \ |
|
-Dversion=$(VERSION) \ |
|
-Dpackaging=jar \ |
|
-Dclassifier=$(JARSUFFIX) \ |
|
-DgeneratePom=true \ |
|
-DcreateChecksum=true |
|
|
|
# make .deb packages |
|
deb: /usr/share/pyshared/stdeb all |
|
(python setup.py --command-packages=stdeb.command bdist_deb) |
|
|
|
# install .deb packages |
|
ideb: |
|
(sudo dpkg -i deb_dist/*.deb) |
|
|
|
/usr/share/pyshared/stdeb: /usr/share/doc/python-all-dev |
|
(sudo apt-get install python-stdeb) |
|
|
|
/usr/share/doc/python-all-dev: |
|
(sudo apt-get install python-all-dev) |
|
|
minihttptestserver: minihttptestserver.o |
minihttptestserver: minihttptestserver.o |
|
|
# DO NOT DELETE THIS LINE -- make depend depends on it. | print-%: |
| @echo "$* = $($*)" |
|
|
igd_desc_parse.o: igd_desc_parse.h | ifneq ($(MAKECMDGOALS),clean) |
miniupnpc.o: miniupnpc.h declspec.h igd_desc_parse.h minissdpc.h miniwget.h | -include $(DEPS) |
miniupnpc.o: minisoap.h minixml.h upnpcommands.h upnpreplyparse.h | endif |
miniupnpc.o: portlistingparse.h miniupnpctypes.h connecthostport.h | |
miniupnpc.o: receivedata.h | |
minixml.o: minixml.h | |
minisoap.o: minisoap.h miniupnpcstrings.h | |
miniwget.o: miniupnpcstrings.h miniwget.h declspec.h connecthostport.h | |
miniwget.o: receivedata.h | |
upnpc.o: miniwget.h declspec.h miniupnpc.h igd_desc_parse.h upnpcommands.h | |
upnpc.o: upnpreplyparse.h portlistingparse.h miniupnpctypes.h upnperrors.h | |
upnpcommands.o: upnpcommands.h upnpreplyparse.h portlistingparse.h declspec.h | |
upnpcommands.o: miniupnpctypes.h miniupnpc.h 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 | |
upnperrors.o: portlistingparse.h miniupnpctypes.h miniupnpc.h | |
upnperrors.o: igd_desc_parse.h | |
testigddescparse.o: igd_desc_parse.h minixml.h miniupnpc.h declspec.h | |
testminiwget.o: miniwget.h declspec.h | |
connecthostport.o: connecthostport.h | |
receivedata.o: receivedata.h | |