# ASFRecorder Makefile for compilation with GCC 2.95.2 on Cygwin32 # This Makefile is for the Windows platform ONLY! # For compilation on other platforms, see the header of the # asfrecorder.c source file. # You will need the Win32 headers/libraries for compilation! # See the README.TXT for details on how to obtain these. # This compiles both the GUI-Version and the console version. all: GUI console GUI: ASFRecorder.exe console: ASFRecorder_Console.exe # the GCC 2.95.2 that comes with the latest CygWin B20.1 release # doesn't automaticly use the mingw includes when the -mno-cygwin # flag is specified. So this has to be excplicitly defined here. include=-I /include/mingw srcdir=source guidir=source/wingui define=-D NDEBUG -D _WINDOWS -D _MBCS ### build ASFRecorder shell and GUI version ### all: ASFRecorder_Console.exe ASFRecorder.exe ### Create distribution package ### distrib: 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/* ### Cleanup ### clean: 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 ### Console version (networking module only) ### ASFRecorder_Console.exe: $(srcdir)/asfrecorder.c gcc -mno-cygwin -Wl,-s source/asfrecorder.c -o ASFRecorder_Console.exe -lws2_32 ### Networking module (with GUI flag defined) ### $(srcdir)/asfrecorder.obj: $(srcdir)/asfrecorder.c gcc -mno-cygwin $(include) $(define) -D GUI -c -o $(srcdir)/asfrecorder.obj $(srcdir)/asfrecorder.c ### CommandLine and main code for GUI ### $(guidir)/CmdLine.obj: $(guidir)/CmdLine.c $(guidir)/CmdLine.h gcc -mno-cygwin $(include) $(define) -c -o $(guidir)/CmdLine.obj $(guidir)/CmdLine.c $(guidir)/wingui.obj: $(guidir)/wingui.c $(guidir)/global.h $(guidir)/resource.h gcc -mno-cygwin $(include) $(define) -c -o $(guidir)/wingui.obj $(guidir)/wingui.c -I $(guidir)/directshow_headers ### GUI resources ### $(guidir)/wingui.res: $(guidir)/wingui.rc $(guidir)/resource.h windres --include-dir $(guidir) $(guidir)/wingui.rc $(guidir)/wingui.res --output-format coff --target pe-i386 ### Linkage ### ASFRecorder.exe: $(srcdir)/asfrecorder.obj $(guidir)/CmdLine.obj $(guidir)/wingui.obj $(guidir)/wingui.res 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