home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 February / Chip_2004-02_cd1.bin / tema / stream / download / asfrec / Makefile < prev    next >
Makefile  |  2000-12-15  |  3KB  |  83 lines

  1.  
  2. # ASFRecorder Makefile for compilation with GCC 2.95.2 on Cygwin32
  3.  
  4. # This Makefile is for the Windows platform ONLY!
  5. # For compilation on other platforms, see the header of the
  6. # asfrecorder.c source file.
  7.  
  8. # You will need the Win32 headers/libraries for compilation!
  9. # See the README.TXT for details on how to obtain these.
  10.  
  11. # This compiles both the GUI-Version and the console version.
  12.  
  13. all:     GUI console
  14. GUI:     ASFRecorder.exe
  15. console: ASFRecorder_Console.exe
  16.  
  17.  
  18. # the GCC 2.95.2 that comes with the latest CygWin B20.1 release
  19. # doesn't automaticly use the mingw includes when the -mno-cygwin
  20. # flag is specified. So this has to be excplicitly defined here.
  21.  
  22. include=-I /include/mingw
  23.  
  24. srcdir=source
  25. guidir=source/wingui
  26. define=-D NDEBUG -D _WINDOWS -D _MBCS
  27.  
  28.  
  29. ### build ASFRecorder shell and GUI version ###
  30.  
  31. all: ASFRecorder_Console.exe ASFRecorder.exe
  32.  
  33.  
  34. ### Create distribution package ###
  35.  
  36. distrib:
  37.     rm ../ASFRecorder.zip ; cd .. ; zip -9 ASFRecorder.zip ASFRecorder/README.TXT ASFRecorder/ASFRecorder.exe ASFRecorder/ASFRecorder_Console.exe ASFRecorder/Makefile ASFRecorder/NMAKEFILE ASFRecorder/source/asfrecorder.c ASFRecorder/source/wingui/CmdLine.c ASFRecorder/source/wingui/CmdLine.h ASFRecorder/source/wingui/global.h ASFRecorder/source/wingui/msimg32.h ASFRecorder/source/wingui/resource.h ASFRecorder/source/wingui/wingui.c ASFRecorder/source/wingui/wingui.rc ASFRecorder/source/wingui/wingui.ico ASFRecorder/source/wingui/inactive.bmp ASFRecorder/source/wingui/pressed.bmp ASFRecorder/source/wingui/notpressed.bmp  ASFRecorder/source/wingui/asfrecorder.bmp ASFRecorder/source/wingui/directshow_headers/* ASFRecorder/source/wingui/directshow_libs/*
  38.  
  39.  
  40. ### Cleanup ###
  41.  
  42. clean:
  43.     rm *.plg *.pdb *.ilk Debug/* Release/* $(srcdir)/asfrecorder.obj $(guidir)/CmdLine.obj $(guidir)/wingui.obj $(guidir)/wingui.res ; rm -R Debug Release $(srcdir)/Debug $(srcdir)/Release $(guidir)/Debug $(guidir)/Release
  44.  
  45.  
  46. ### Console version (networking module only) ###
  47.  
  48. ASFRecorder_Console.exe: $(srcdir)/asfrecorder.c
  49.  
  50.     gcc -mno-cygwin -Wl,-s source/asfrecorder.c -o ASFRecorder_Console.exe -lws2_32
  51.  
  52.  
  53. ### Networking module (with GUI flag defined) ###
  54.  
  55. $(srcdir)/asfrecorder.obj: $(srcdir)/asfrecorder.c
  56.  
  57.     gcc -mno-cygwin $(include) $(define) -D GUI -c -o $(srcdir)/asfrecorder.obj $(srcdir)/asfrecorder.c
  58.  
  59.  
  60. ### CommandLine and main code for GUI ###
  61.  
  62. $(guidir)/CmdLine.obj: $(guidir)/CmdLine.c $(guidir)/CmdLine.h
  63.  
  64.     gcc -mno-cygwin $(include) $(define) -c -o $(guidir)/CmdLine.obj $(guidir)/CmdLine.c
  65.  
  66. $(guidir)/wingui.obj: $(guidir)/wingui.c $(guidir)/global.h $(guidir)/resource.h
  67.  
  68.     gcc -mno-cygwin $(include) $(define) -c -o $(guidir)/wingui.obj $(guidir)/wingui.c -I $(guidir)/directshow_headers
  69.  
  70.  
  71. ### GUI resources ###
  72.  
  73. $(guidir)/wingui.res: $(guidir)/wingui.rc $(guidir)/resource.h
  74.  
  75.     windres --include-dir $(guidir) $(guidir)/wingui.rc $(guidir)/wingui.res --output-format coff --target pe-i386
  76.  
  77.  
  78. ### Linkage ###
  79.  
  80. ASFRecorder.exe: $(srcdir)/asfrecorder.obj $(guidir)/CmdLine.obj $(guidir)/wingui.obj $(guidir)/wingui.res
  81.  
  82.     gcc -mno-cygwin -mwindows -Wl,-e,_WinMainCRTStartup -Wl,-s $(srcdir)/asfrecorder.obj $(guidir)/CmdLine.obj $(guidir)/wingui.obj $(guidir)/wingui.res -o ASFRecorder.exe -ladvapi32 -lversion -llargeint -luser32 -lgdi32 -lcomctl32 -lcomdlg32 -lshell32 -lole32 -loleaut32 -lws2_32 -L $(guidir)/directshow_libs -lstrmbase -lquartz
  83.