Makefile.mingw 2.2 KB

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