OSDN Git Service

Fix exports with MSVC
authorAlaskanEmily <emily@alaskanemily.net>
Mon, 27 May 2019 21:35:47 +0000 (14:35 -0700)
committerAlaskanEmily <emily@alaskanemily.net>
Mon, 27 May 2019 21:35:47 +0000 (14:35 -0700)
src/nmakefile

index e222834..3659b6c 100755 (executable)
@@ -2,8 +2,8 @@
 # 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
@@ -24,20 +24,32 @@ openal_lib:
 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