Mercurial > dwindows
changeset 750:e6a9f1c7b0d7
Changes to be smarter about source and destination directories with Visual C.
Also add support for manifests and targeting 64bit binaries.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Wed, 16 Mar 2011 22:01:05 +0000 |
parents | 9e147366147b |
children | eba6ab48c952 |
files | makefile.vc |
diffstat | 1 files changed, 40 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/makefile.vc Wed Mar 16 15:35:45 2011 +0000 +++ b/makefile.vc Wed Mar 16 22:01:05 2011 +0000 @@ -1,18 +1,43 @@ # -# Get our source directory +# Visual C Makefile for Dynamic Windows # VER = 11 VERDOT = 1.1 +# +# Setup the source and destination directories +# !if "$(DWINDOWS_SRCDIR)" == "" SRCDIR=. !else SRCDIR=$(DWINDOWS_SRCDIR) !endif -FXLIBDIR=.\lib -FXDLLDIR=.\dll +!if "$(DWLIBDIR)" == "" +DWLIBDIR=.\lib +!endif + +!if "$(DWDLLDIR)" == "" +DWDLLDIR=.\dll +!endif +# +# Configure settings for the target platform +# Default to x86 if not specified +# +!if "$(TARGET_CPU)" == "" +TARGET_CPU=x86 +!endif + +!if "$(TARGET_CPU)" == "x86" +PLATFORM_DEF = -DWIN32 +!else +PLATFORM_DEF = -DWIN64 +!endif + +# +# Settings for either debug or release +# !if "$(DEBUG)" == "Y" CFLAGS_DEBUG = -DDEBUG -Z7 -Od # was -Zi LINK_DEBUG = -debug @@ -22,11 +47,11 @@ !endif CC = cl -CFLAGS = -c -Zp1 -DWIN32 -D__WIN32__ -DMSVC -DBUILD_DLL -I$(SRCDIR)\platform -I$(SRCDIR) +CFLAGS = -c -Zp1 $(PLATFORM_DEF) -D__WIN32__ -DMSVC -DBUILD_DLL -I$(SRCDIR)\platform -I$(SRCDIR) CFLAGS_COMPILE = -MTd # was -MD LIBS = wsock32.lib kernel32.lib user32.lib comctl32.lib gdi32.lib advapi32.lib shell32.lib comdlg32.lib ole32.lib oleaut32.lib RES = -LINKFLAGS = -machine:i386 $(LINK_DEBUG) +LINKFLAGS = -machine:$(TARGET_CPU) -manifest $(LINK_DEBUG) DLLLINKFLAGS = -dll LINK = link DEFFILE = $(SRCDIR)\dww.def @@ -53,8 +78,8 @@ dw: dw.dll dw.dll: $(OBJS) $(DEFFILE) - -mkdir $(FXLIBDIR) - -mkdir $(FXDLLDIR) + -mkdir $(DWLIBDIR) + -mkdir $(DWDLLDIR) $(LINK) @<< -out:$(@) -def:$(DEFFILE) $(LINKFLAGS) $(DLLLINKFLAGS) @@ -62,8 +87,9 @@ $(LIBS) << lib /def:$(DEFFILE) /out:dw.lib - copy dw.lib $(FXLIBDIR)\dw.lib - copy dw.dll $(FXDLLDIR)\dw.dll + mt.exe /manifest dw.dll.manifest /outputresource:dw.dll;2 + copy dw.lib $(DWLIBDIR)\dw.lib + copy dw.dll $(DWDLLDIR)\dw.dll dwcompat: dwcompat.dll @@ -75,8 +101,9 @@ $(LIBS) << lib /def:$(DEFFILE2) /out:dwcompat.lib - copy dwcompat.lib $(FXLIBDIR)\dwcompat.lib - copy dwcompat.dll $(FXDLLDIR)\dwcompat.dll + mt.exe /manifest dwcompat.dll.manifest /outputresource:dwcompat.dll;2 + copy dwcompat.lib $(DWLIBDIR)\dwcompat.lib + copy dwcompat.dll $(DWDLLDIR)\dwcompat.dll dw.obj: $(SRCDIR)\win\dw.c $(CC) $(CFLAGS) $(CFLAGS_DEBUG) $(CFLAGS_COMPILE) $(SRCDIR)\win\dw.c @@ -99,7 +126,8 @@ dwtest: dwtest.exe dwtest.exe: dwtest.obj winmain.obj - $(LINK) $(LINKFLAGS) /out:dwtest.exe dwtest.obj winmain.obj /subsystem:windows $(FXLIBDIR)\dwcompat.lib $(FXLIBDIR)\dw.lib $(LIBS) + $(LINK) $(LINKFLAGS) /out:dwtest.exe dwtest.obj winmain.obj /subsystem:windows $(DWLIBDIR)\dwcompat.lib $(DWLIBDIR)\dw.lib $(LIBS) + mt.exe /manifest dwtest.exe.manifest /outputresource:dwtest.exe;1 zip: dw.dll copy win\readme-win.txt .