Makefile.mingw 2.6 KB

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