diff --git a/Makefile b/Makefile index 073ff53..98d7592 100644 --- a/Makefile +++ b/Makefile @@ -1,50 +1,19 @@ -include config.mk -CC = i686-w64-mingw32-gcc -CXX = i686-w64-mingw32-g++ -STRIP ?= i686-w64-mingw32-strip -WINDRES ?= i686-w64-mingw32-windres -LDFLAGS = -Wl,--enable-stdcall-fixup -s -static +TARGET = ddraw.dll +LDFLAGS = -Wl,--enable-stdcall-fixup -s -static -shared CFLAGS = -Iinc -O2 -march=i486 -Wall LIBS = -lgdi32 -lwinmm -lpsapi -ldbghelp -lole32 -FILES = src/IDirect3D/IDirect3D.c \ - src/IDirect3D/IDirect3D2.c \ - src/IDirect3D/IDirect3D3.c \ - src/IDirect3D/IDirect3D7.c \ - src/IDirectDraw/IDirectDraw.c \ - src/IDirectDraw/IDirectDrawPalette.c \ - src/IDirectDraw/IDirectDrawClipper.c \ - src/IDirectDraw/IDirectDrawSurface.c \ - src/IDirectDraw/IDirectDrawGammaControl.c \ - src/IAMMediaStream/IAMMediaStream.c \ - src/crc32.c \ - src/ini.c \ - src/blt.c \ - src/dd.c \ - src/ddpalette.c \ - src/ddsurface.c \ - src/ddclipper.c \ - src/render_ogl.c \ - src/render_gdi.c \ - src/render_d3d9.c \ - src/debug.c \ - src/mouse.c \ - src/winapi_hooks.c \ - src/screenshot.c \ - src/config.c \ - src/lodepng.c \ - src/directinput.c \ - src/hook.c \ - src/dllmain.c \ - src/wndproc.c \ - src/utils.c \ - src/fps_limiter.c \ - src/opengl_utils.c +CC = i686-w64-mingw32-gcc +WINDRES ?= i686-w64-mingw32-windres -all: - $(WINDRES) -J rc ddraw.rc ddraw.rc.o - $(CC) $(CFLAGS) $(LDFLAGS) -shared -o ddraw.dll $(FILES) ddraw.def ddraw.rc.o $(LIBS) +.PHONY: clean all +all: $(TARGET) + +$(TARGET): $(wildcard src/*.c) $(wildcard src/*/*.c) + $(WINDRES) -J rc res.rc res.o + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ exports.def res.o $(LIBS) clean: - $(RM) ddraw.dll ddraw.rc.o + $(RM) $(TARGET) res.o diff --git a/cnc-ddraw.vcxproj b/cnc-ddraw.vcxproj index b1c9390..1a81dbb 100644 --- a/cnc-ddraw.vcxproj +++ b/cnc-ddraw.vcxproj @@ -111,7 +111,7 @@ <ClInclude Include="inc\wndproc.h" /> </ItemGroup> <ItemGroup> - <ResourceCompile Include="ddraw.rc" /> + <ResourceCompile Include="res.rc" /> </ItemGroup> <ItemGroup /> <PropertyGroup Label="Globals"> @@ -217,7 +217,7 @@ <Link> <SubSystem>Windows</SubSystem> <AdditionalDependencies>dbghelp.lib;winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies> - <ModuleDefinitionFile>ddraw.def</ModuleDefinitionFile> + <ModuleDefinitionFile>exports.def</ModuleDefinitionFile> </Link> <PostBuildEvent> <Command> @@ -244,7 +244,7 @@ if NOT "$(LocalDebuggerWorkingDirectory)" == "$(ProjectDir)" if exist "$(LocalDe <EnableCOMDATFolding>true</EnableCOMDATFolding> <OptimizeReferences>true</OptimizeReferences> <AdditionalDependencies>winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies> - <ModuleDefinitionFile>ddraw.def</ModuleDefinitionFile> + <ModuleDefinitionFile>exports.def</ModuleDefinitionFile> </Link> <PostBuildEvent> <Command> @@ -271,7 +271,7 @@ if NOT "$(LocalDebuggerWorkingDirectory)" == "$(ProjectDir)" if exist "$(LocalDe <EnableCOMDATFolding>true</EnableCOMDATFolding> <OptimizeReferences>true</OptimizeReferences> <AdditionalDependencies>winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies> - <ModuleDefinitionFile>ddraw.def</ModuleDefinitionFile> + <ModuleDefinitionFile>exports.def</ModuleDefinitionFile> </Link> <PostBuildEvent> <Command> @@ -298,7 +298,7 @@ if NOT "$(LocalDebuggerWorkingDirectory)" == "$(ProjectDir)" if exist "$(LocalDe <EnableCOMDATFolding>true</EnableCOMDATFolding> <OptimizeReferences>true</OptimizeReferences> <AdditionalDependencies>dbghelp.lib;winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies> - <ModuleDefinitionFile>ddraw.def</ModuleDefinitionFile> + <ModuleDefinitionFile>exports.def</ModuleDefinitionFile> </Link> <PostBuildEvent> <Command> @@ -325,7 +325,7 @@ if NOT "$(LocalDebuggerWorkingDirectory)" == "$(ProjectDir)" if exist "$(LocalDe <EnableCOMDATFolding>true</EnableCOMDATFolding> <OptimizeReferences>true</OptimizeReferences> <AdditionalDependencies>dbghelp.lib;winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies> - <ModuleDefinitionFile>ddraw.def</ModuleDefinitionFile> + <ModuleDefinitionFile>exports.def</ModuleDefinitionFile> </Link> <PostBuildEvent> <Command> diff --git a/ddraw.def b/exports.def similarity index 100% rename from ddraw.def rename to exports.def diff --git a/ddraw.rc b/res.rc similarity index 100% rename from ddraw.rc rename to res.rc