Annotation of embedaddon/miniupnpc/Makefile, revision 1.1
1.1 ! misho 1: # $Id: Makefile,v 1.81 2011/06/21 15:24:14 nanard Exp $
! 2: # MiniUPnP Project
! 3: # http://miniupnp.free.fr/
! 4: # (c) 2005-2011 Thomas Bernard
! 5: # to install use :
! 6: # $ PREFIX=/tmp/dummylocation make install
! 7: # or
! 8: # $ INSTALLPREFIX=/usr/local make install
! 9: # or
! 10: # make install (will go to /usr/bin, /usr/lib, etc...)
! 11: OS = $(shell uname -s)
! 12: CC ?= gcc
! 13: #AR = gar
! 14: #CFLAGS = -O -Wall -g -DDEBUG
! 15: CFLAGS ?= -O -Wall -DNDEBUG -DMINIUPNPC_SET_SOCKET_TIMEOUT -Wstrict-prototypes
! 16: # -DNO_GETADDRINFO
! 17: INSTALL = install
! 18: SH = /bin/sh
! 19: JAVA = java
! 20: # see http://code.google.com/p/jnaerator/
! 21: JNAERATOR = jnaerator-0.9.3.jar
! 22: #following libs are needed on Solaris
! 23: #LDLIBS=-lsocket -lnsl -lresolv
! 24:
! 25: # APIVERSION is used to build SONAME
! 26: APIVERSION = 8
! 27:
! 28: SRCS = igd_desc_parse.c miniupnpc.c minixml.c minisoap.c miniwget.c \
! 29: upnpc.c upnpcommands.c upnpreplyparse.c testminixml.c \
! 30: minixmlvalid.c testupnpreplyparse.c minissdpc.c \
! 31: upnperrors.c testigddescparse.c testminiwget.c \
! 32: connecthostport.c portlistringparse.c receivedata.c
! 33:
! 34: LIBOBJS = miniwget.o minixml.o igd_desc_parse.o minisoap.o \
! 35: miniupnpc.o upnpreplyparse.o upnpcommands.o upnperrors.o \
! 36: connecthostport.o portlistingparse.o receivedata.o
! 37:
! 38: ifneq ($(OS), AmigaOS)
! 39: CFLAGS := -fPIC $(CFLAGS)
! 40: LIBOBJS := $(LIBOBJS) minissdpc.o
! 41: endif
! 42:
! 43: OBJS = $(patsubst %.c,%.o,$(SRCS))
! 44:
! 45: # HEADERS to install
! 46: HEADERS = miniupnpc.h miniwget.h upnpcommands.h igd_desc_parse.h \
! 47: upnpreplyparse.h upnperrors.h miniupnpctypes.h \
! 48: portlistingparse.h \
! 49: declspec.h
! 50:
! 51: # library names
! 52: LIBRARY = libminiupnpc.a
! 53: ifeq ($(OS), Darwin)
! 54: SHAREDLIBRARY = libminiupnpc.dylib
! 55: SONAME = $(basename $(SHAREDLIBRARY)).$(APIVERSION).dylib
! 56: CFLAGS := -DMACOSX -D_DARWIN_C_SOURCE $(CFLAGS)
! 57: else
! 58: SHAREDLIBRARY = libminiupnpc.so
! 59: SONAME = $(SHAREDLIBRARY).$(APIVERSION)
! 60: endif
! 61:
! 62: EXECUTABLES = upnpc-static
! 63: EXECUTABLES_ADDTESTS = testminixml minixmlvalid testupnpreplyparse \
! 64: testigddescparse testminiwget
! 65:
! 66: TESTMINIXMLOBJS = minixml.o igd_desc_parse.o testminixml.o
! 67:
! 68: TESTMINIWGETOBJS = miniwget.o testminiwget.o connecthostport.o receivedata.o
! 69:
! 70: TESTUPNPREPLYPARSE = testupnpreplyparse.o minixml.o upnpreplyparse.o
! 71:
! 72: TESTIGDDESCPARSE = testigddescparse.o igd_desc_parse.o minixml.o \
! 73: miniupnpc.o miniwget.o upnpcommands.o upnpreplyparse.o \
! 74: minisoap.o connecthostport.o receivedata.o \
! 75: portlistingparse.o
! 76:
! 77: ifneq ($(OS), AmigaOS)
! 78: EXECUTABLES := $(EXECUTABLES) upnpc-shared
! 79: TESTMINIWGETOBJS := $(TESTMINIWGETOBJS) minissdpc.o
! 80: TESTIGDDESCPARSE := $(TESTIGDDESCPARSE) minissdpc.o
! 81: endif
! 82:
! 83: # install directories
! 84: INSTALLPREFIX ?= $(PREFIX)/usr
! 85: INSTALLDIRINC = $(INSTALLPREFIX)/include/miniupnpc
! 86: INSTALLDIRLIB = $(INSTALLPREFIX)/lib
! 87: INSTALLDIRBIN = $(INSTALLPREFIX)/bin
! 88:
! 89: FILESTOINSTALL = $(LIBRARY) $(EXECUTABLES)
! 90: ifneq ($(OS), AmigaOS)
! 91: FILESTOINSTALL := $(FILESTOINSTALL) $(SHAREDLIBRARY)
! 92: endif
! 93:
! 94:
! 95: .PHONY: install clean depend all check everything \
! 96: installpythonmodule
! 97: # validateminixml validateminiwget
! 98:
! 99: all: $(LIBRARY) $(EXECUTABLES)
! 100:
! 101: check: validateminixml validateminiwget
! 102:
! 103: everything: all $(EXECUTABLES_ADDTESTS)
! 104:
! 105: pythonmodule: $(LIBRARY) miniupnpcmodule.c setup.py
! 106: python setup.py build
! 107: touch $@
! 108:
! 109: installpythonmodule: pythonmodule
! 110: python setup.py install
! 111:
! 112: validateminixml: minixmlvalid
! 113: @echo "minixml validation test"
! 114: ./minixmlvalid
! 115: touch $@
! 116:
! 117: validateminiwget: testminiwget minihttptestserver testminiwget.sh
! 118: @echo "miniwget validation test"
! 119: ./testminiwget.sh
! 120: touch $@
! 121:
! 122: clean:
! 123: $(RM) $(LIBRARY) $(SHAREDLIBRARY) $(EXECUTABLES) $(OBJS) miniupnpcstrings.h
! 124: # clean python stuff
! 125: $(RM) pythonmodule validateminixml
! 126: $(RM) -r build/ dist/
! 127: #python setup.py clean
! 128:
! 129: install: $(FILESTOINSTALL)
! 130: $(INSTALL) -d $(INSTALLDIRINC)
! 131: $(INSTALL) -m 644 $(HEADERS) $(INSTALLDIRINC)
! 132: $(INSTALL) -d $(INSTALLDIRLIB)
! 133: $(INSTALL) -m 644 $(LIBRARY) $(INSTALLDIRLIB)
! 134: ifneq ($(OS), AmigaOS)
! 135: $(INSTALL) -m 644 $(SHAREDLIBRARY) $(INSTALLDIRLIB)/$(SONAME)
! 136: ln -fs $(SONAME) $(INSTALLDIRLIB)/$(SHAREDLIBRARY)
! 137: endif
! 138: $(INSTALL) -d $(INSTALLDIRBIN)
! 139: ifeq ($(OS), AmigaOS)
! 140: $(INSTALL) -m 755 upnpc-static $(INSTALLDIRBIN)/upnpc
! 141: else
! 142: $(INSTALL) -m 755 upnpc-shared $(INSTALLDIRBIN)/upnpc
! 143: endif
! 144: $(INSTALL) -m 755 external-ip.sh $(INSTALLDIRBIN)/external-ip
! 145:
! 146: cleaninstall:
! 147: $(RM) -r $(INSTALLDIRINC)
! 148: $(RM) $(INSTALLDIRLIB)/$(LIBRARY)
! 149: $(RM) $(INSTALLDIRLIB)/$(SHAREDLIBRARY)
! 150:
! 151: depend:
! 152: makedepend -Y -- $(CFLAGS) -- $(SRCS) 2>/dev/null
! 153:
! 154: $(LIBRARY): $(LIBOBJS)
! 155: $(AR) crs $@ $?
! 156:
! 157: $(SHAREDLIBRARY): $(LIBOBJS)
! 158: ifeq ($(OS), Darwin)
! 159: $(CC) -dynamiclib $(LDFLAGS) -Wl,-install_name,$(SONAME) -o $@ $^
! 160: else
! 161: $(CC) -shared $(LDFLAGS) -Wl,-soname,$(SONAME) -o $@ $^
! 162: endif
! 163:
! 164: upnpc-static: upnpc.o $(LIBRARY) $(LDLIBS)
! 165: $(CC) $(LDFLAGS) -o $@ $^
! 166:
! 167: upnpc-shared: upnpc.o $(SHAREDLIBRARY) $(LDLIBS)
! 168: $(CC) $(LDFLAGS) -o $@ $^
! 169:
! 170: testminixml: $(TESTMINIXMLOBJS)
! 171:
! 172: testminiwget: $(TESTMINIWGETOBJS)
! 173:
! 174: minixmlvalid: minixml.o minixmlvalid.o
! 175:
! 176: testupnpreplyparse: $(TESTUPNPREPLYPARSE)
! 177:
! 178: testigddescparse: $(TESTIGDDESCPARSE)
! 179:
! 180: miniupnpcstrings.h: miniupnpcstrings.h.in updateminiupnpcstrings.sh
! 181: $(SH) updateminiupnpcstrings.sh
! 182:
! 183: jar: $(SHAREDLIBRARY)
! 184: $(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
! 185:
! 186: minihttptestserver: minihttptestserver.o
! 187:
! 188: # DO NOT DELETE THIS LINE -- make depend depends on it.
! 189:
! 190: igd_desc_parse.o: igd_desc_parse.h
! 191: miniupnpc.o: miniupnpc.h declspec.h igd_desc_parse.h minissdpc.h miniwget.h
! 192: miniupnpc.o: minisoap.h minixml.h upnpcommands.h upnpreplyparse.h
! 193: miniupnpc.o: portlistingparse.h miniupnpctypes.h connecthostport.h
! 194: miniupnpc.o: receivedata.h
! 195: minixml.o: minixml.h
! 196: minisoap.o: minisoap.h miniupnpcstrings.h
! 197: miniwget.o: miniupnpcstrings.h miniwget.h declspec.h connecthostport.h
! 198: miniwget.o: receivedata.h
! 199: upnpc.o: miniwget.h declspec.h miniupnpc.h igd_desc_parse.h upnpcommands.h
! 200: upnpc.o: upnpreplyparse.h portlistingparse.h miniupnpctypes.h upnperrors.h
! 201: upnpcommands.o: upnpcommands.h upnpreplyparse.h portlistingparse.h declspec.h
! 202: upnpcommands.o: miniupnpctypes.h miniupnpc.h igd_desc_parse.h
! 203: upnpreplyparse.o: upnpreplyparse.h minixml.h
! 204: testminixml.o: minixml.h igd_desc_parse.h
! 205: minixmlvalid.o: minixml.h
! 206: testupnpreplyparse.o: upnpreplyparse.h
! 207: minissdpc.o: minissdpc.h miniupnpc.h declspec.h igd_desc_parse.h codelength.h
! 208: upnperrors.o: upnperrors.h declspec.h upnpcommands.h upnpreplyparse.h
! 209: upnperrors.o: portlistingparse.h miniupnpctypes.h miniupnpc.h
! 210: upnperrors.o: igd_desc_parse.h
! 211: testigddescparse.o: igd_desc_parse.h minixml.h miniupnpc.h declspec.h
! 212: testminiwget.o: miniwget.h declspec.h
! 213: connecthostport.o: connecthostport.h
! 214: receivedata.o: receivedata.h
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>