# http://creativecommons.org/publicdomain/zero/1.0/\r
\r
LINK=link\r
-LINKFLAGS=/NOLOGO /DLL /OUT:cinnamon.dll /PDB:cinnamon.pdb /DEF:cinnamon.def\r
-CLFLAGS=/nologo /GF /EHsc /arch:SSE /Zi /c /WX /DCIN_INTERNAL /I$(MAKEDIR) /I$(MAKEDIR)\common /Os /W3 /DCIN_DLL=1\r
+LINKFLAGS=/NOLOGO /DLL /OUT:cinnamon.dll /PDB:cinnamon.pdb\r
+CLFLAGS=/nologo /GF /EHsc /arch:SSE /Zi /c /WX /I"$(MAKEDIR)" /I"$(MAKEDIR)\common" /Os /W3 /DCIN_DLL=1 /DCIN_INTERNAL=1\r
LIBFLAGS=/NOLOGO\r
\r
all: dsound sine_test.exe aucat.exe\r
dummy.obj:\r
cl $(CLFLAGS) /c /TP cinnamon.h /Fodummy.obj\r
\r
-dsound: dsound_lib common_lib dummy.obj cinnamon.def\r
- $(LINK) /DEBUG dummy.obj dsound\cin_dsound.lib common\cin_common.lib dsound.lib dxguid.lib ole32.lib user32.lib $(LINKFLAGS)\r
+dsound: dsound_lib common_lib dummy.obj\r
+ $(LINK) /DEBUG dummy.obj /WHOLEARCHIVE:dsound\cin_dsound.lib /WHOLEARCHIVE:common\cin_common.lib dsound.lib dxguid.lib ole32.lib user32.lib $(LINKFLAGS)\r
\r
-openal: openal_lib common_lib dummy.obj cinnamon.def\r
- $(LINK) /DEBUG dummy.obj openal\cin_openal.lib lib\OpenAL32.lib $(LINKFLAGS)\r
+openal: openal_lib common_lib dummy.obj\r
+ $(LINK) /DEBUG dummy.obj /WHOLEARCHIVE:openal\cin_openal.lib lib\OpenAL32.lib $(LINKFLAGS)\r
\r
-sine_test.obj:\r
+sine_test.obj: sine_test.c cinnamon.h cin_export.h cin_format.h\r
cl $(CLFLAGS) /c sine_test.c\r
\r
sine_test.exe: dsound sine_test.obj\r
$(LINK) /DEBUG sine_test.obj cinnamon.lib /NOLOGO /OUT:sine_test.exe\r
\r
-aucat.obj:\r
+aucat.obj: aucat.c cinnamon.h cin_export.h cin_format.h\r
cl $(CLFLAGS) /c aucat.c\r
\r
aucat.exe: dsound aucat.obj\r
$(LINK) /DEBUG aucat.obj cinnamon.lib /NOLOGO /OUT:aucat.exe\r
+\r
+CLEANDIR=( del *.obj 2> nul || echo > nul ) && ( del *.lib 2> nul || echo > nul ) && ( del *.pdb 2> nul || echo > nul ) && ( del *.exp 2> nul || echo > nul )\r
+\r
+clean:\r
+ @cd . && $(CLEANDIR)\r
+ @del *.exe 2> nul || echo > nul\r
+ @cd common && $(CLEANDIR)\r
+ @cd dsound && $(CLEANDIR)\r
+ @del *.obj 2> nul || echo > nul\r
+ @del *.lib 2> nul || echo > nul\r
+ @del *.pdb 2> nul || echo > nul\r
+ @del *.dll 2> nul || echo > nul\r