1# $Id: Makefile.mingw,v 1.19 2014/06/10 09:48:11 nanard Exp $ 2# Miniupnp project. 3# http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/ 4# (c) 2005-2014 Thomas Bernard 5# This Makefile is made for MinGW 6# 7CC = gcc 8#CFLAGS = -Wall -g -DDEBUG -D_WIN32_WINNT=0X501 9CFLAGS = -Wall -Os -DNDEBUG -D_WIN32_WINNT=0X501 10LDLIBS = -lws2_32 -liphlpapi 11# -lwsock32 12# -liphlpapi is needed for GetBestRoute() and GetIpAddrTable() 13PYTHON=\utils\python25\python 14OBJS=miniwget.o minixml.o igd_desc_parse.o minisoap.o \ 15 miniupnpc.o upnpreplyparse.o upnpcommands.o upnperrors.o \ 16 connecthostport.o portlistingparse.o receivedata.o 17OBJSDLL=$(addprefix dll/, $(OBJS)) 18 19all: init upnpc-static upnpc-shared testminixml libminiupnpc.a miniupnpc.dll 20 21init: 22 mkdir dll 23 echo init > init 24 25clean: 26 del upnpc testminixml *.o 27 del dll\*.o 28 del *.exe 29 del miniupnpc.dll 30 del libminiupnpc.a 31 32libminiupnpc.a: $(OBJS) 33 $(AR) cr $@ $? 34 35pythonmodule: libminiupnpc.a 36 $(PYTHON) setupmingw32.py build --compiler=mingw32 37 $(PYTHON) setupmingw32.py install --skip-build 38 39miniupnpc.dll: libminiupnpc.a $(OBJSDLL) 40 dllwrap -k --driver-name gcc \ 41 --def miniupnpc.def \ 42 --output-def miniupnpc.dll.def \ 43 --implib miniupnpc.lib -o $@ \ 44 $(OBJSDLL) $(LDLIBS) 45 46miniupnpc.lib: miniupnpc.dll 47 echo $@ generated with $< 48 49dll/upnpc.o: upnpc.o 50 echo $@ generated with $< 51 52.c.o: 53 $(CC) $(CFLAGS) -DMINIUPNP_STATICLIB -c -o $@ $< 54 $(CC) $(CFLAGS) -DMINIUPNP_EXPORTS -c -o dll/$@ $< 55 56upnpc.o: 57 $(CC) $(CFLAGS) -DMINIUPNP_STATICLIB -c -o $@ $< 58 $(CC) $(CFLAGS) -c -o dll/$@ $< 59 60# --enable-stdcall-fixup 61upnpc-static: upnpc.o libminiupnpc.a 62 $(CC) -o $@ $^ $(LDLIBS) 63 64upnpc-shared: dll/upnpc.o miniupnpc.lib 65 $(CC) -o $@ $^ $(LDLIBS) 66 67wingenminiupnpcstrings: wingenminiupnpcstrings.o 68 69wingenminiupnpcstrings.o: wingenminiupnpcstrings.c 70 71miniupnpcstrings.h: miniupnpcstrings.h.in wingenminiupnpcstrings 72 wingenminiupnpcstrings $< $@ 73 74minixml.o: minixml.c minixml.h miniupnpcstrings.h 75 76upnpc.o: upnpc.c miniwget.h minisoap.h miniupnpc.h igd_desc_parse.h upnpreplyparse.h upnpcommands.h upnperrors.h 77 78miniwget.o: miniwget.c miniwget.h miniupnpcstrings.h connecthostport.h 79 80minisoap.o: minisoap.c minisoap.h miniupnpcstrings.h 81 82miniupnpc.o: miniupnpc.c miniupnpc.h minisoap.h miniwget.h minixml.h 83 84igd_desc_parse.o: igd_desc_parse.c igd_desc_parse.h 85 86testminixml: minixml.o igd_desc_parse.o testminixml.c 87 88upnpreplyparse.o: upnpreplyparse.c upnpreplyparse.h minixml.h 89 90upnpcommands.o: upnpcommands.c upnpcommands.h upnpreplyparse.h miniupnpc.h portlistingparse.h 91 92