From 3cc520e98c86f00f60623a2a032f2452e4203346 Mon Sep 17 00:00:00 2001 From: Daniel Richard G Date: Mon, 2 Dec 2013 04:26:09 -0500 Subject: [PATCH] Overhauled the exposed/ Makefile for MSVC++ --- exposed/Makefile.msvc | 74 +++++++++++++++++++++++-------------------- 1 file changed, 40 insertions(+), 34 deletions(-) diff --git a/exposed/Makefile.msvc b/exposed/Makefile.msvc index 388a7cd..18eee90 100644 --- a/exposed/Makefile.msvc +++ b/exposed/Makefile.msvc @@ -1,50 +1,56 @@ -DEFINES = /D_WIN32_WINNT=0x500 /DISOLATION_AWARE_ENABLED /D_WIN32_IE=0x500 /DWIN32_LEAN_AND_MEAN /DWIN32 /DLIBRARY -# Use the multi-threaded static libc because libpng and zlib do; not sure if anything bad -# happens if those mix, but don't want to risk it. -CFLAGS = /W3 /nologo -MT -Iextlib -I..\..\common\win32 /D_DEBUG /D_CRT_SECURE_NO_WARNINGS /I. /I.. /Zi /EHs /O2 /GS- +# This is an NMAKE-compatible makefile. -HEADERS = ..\solvespace.h ..\dsc.h ..\sketch.h ..\expr.h slvs.h +DEFINES = \ + /D_CRT_SECURE_NO_DEPRECATE \ + /D_CRT_SECURE_NO_WARNINGS \ + /D_DEBUG \ + /D_WIN32_WINNT=0x500 \ + /D_WIN32_IE=_WIN32_WINNT \ + /DISOLATION_AWARE_ENABLED \ + /DWIN32 \ + /DWIN32_LEAN_AND_MEAN \ + /DLIBRARY -OBJDIR = obj +CFLAGS = /nologo /W3 /MT /I..\src /Zi /O2 +CXXFLAGS = $(CFLAGS) /EHs -SSOBJS = $(OBJDIR)\util.obj \ - $(OBJDIR)\entity.obj \ - $(OBJDIR)\expr.obj \ - $(OBJDIR)\constrainteq.obj \ - $(OBJDIR)\system.obj \ +OBJDIR = obj +SSOBJS = $(OBJDIR)\constrainteq.obj \ + $(OBJDIR)\entity.obj \ + $(OBJDIR)\expr.obj \ + $(OBJDIR)\system.obj \ + $(OBJDIR)\util.obj -W32OBJS = $(OBJDIR)\w32util.obj \ - - -LIBOBJS = $(OBJDIR)\lib.obj \ +W32OBJS = $(OBJDIR)\w32util.obj +LIBOBJS = $(OBJDIR)\lib.obj LIBS = user32.lib gdi32.lib comctl32.lib advapi32.lib shell32.lib -all: $(OBJDIR)/CDemo.exe - @cp $(OBJDIR)/CDemo.exe . - CDemo.exe +all: $(OBJDIR)\CDemo.exe + @copy /y $(OBJDIR)\slvs.dll . + @echo slvs.dll + @copy /y $(OBJDIR)\CDemo.exe . + @echo CDemo.exe clean: - rm -f obj/* + -rmdir /s /q $(OBJDIR) -$(OBJDIR)/slvs.dll: $(SSOBJS) $(LIBOBJS) $(W32OBJS) - @$(CC) /LD -Fe$(OBJDIR)/slvs.dll $(SSOBJS) $(LIBOBJS) $(W32OBJS) $(LIBS) - @cp $(OBJDIR)/slvs.dll . - @echo slvs.dll +$(OBJDIR)\slvs.dll: $(SSOBJS) $(LIBOBJS) $(W32OBJS) + $(CXX) $(CXXFLAGS) /LD /Fe$(OBJDIR)\slvs.dll $(SSOBJS) $(LIBOBJS) $(W32OBJS) $(LIBS) -$(OBJDIR)/CDemo.exe: CDemo.c $(OBJDIR)/slvs.dll - @$(CC) $(CFLAGS) -Fe$(OBJDIR)/CDemo.exe CDemo.c $(OBJDIR)/slvs.lib $(LIBS) - @echo CDemo.exe +$(OBJDIR)\CDemo.exe: CDemo.c $(OBJDIR)\slvs.dll + $(CC) $(CFLAGS) $(DEFINES) /Fo$(OBJDIR)\ /Fe$(OBJDIR)\CDemo.exe CDemo.c $(OBJDIR)\slvs.lib $(LIBS) -$(SSOBJS): ..\$(@B).cpp $(HEADERS) - @$(CC) $(CFLAGS) $(DEFINES) -c -Fo$(OBJDIR)/$(@B).obj ..\$(@B).cpp - -$(W32OBJS): ..\win32\$(@B).cpp $(HEADERS) - @$(CC) $(CFLAGS) $(DEFINES) -c -Fo$(OBJDIR)/$(@B).obj ..\win32\$(@B).cpp - -$(LIBOBJS): $(@B).cpp $(HEADERS) - @$(CC) $(CFLAGS) $(DEFINES) -c -Fo$(OBJDIR)/$(@B).obj $(@B).cpp +.cpp{$(OBJDIR)}.obj:: + @if not exist $(OBJDIR) mkdir $(OBJDIR) + $(CXX) $(CXXFLAGS) $(DEFINES) /c /Fo$(OBJDIR)\ $< +{..\src}.cpp{$(OBJDIR)}.obj:: + @if not exist $(OBJDIR) mkdir $(OBJDIR) + $(CXX) $(CXXFLAGS) $(DEFINES) /c /Fo$(OBJDIR)\ $< +{..\src\win32}.cpp{$(OBJDIR)}.obj:: + @if not exist $(OBJDIR) mkdir $(OBJDIR) + $(CXX) $(CXXFLAGS) $(DEFINES) /c /Fo$(OBJDIR)\ $<