Overhauled the exposed/ Makefile for MSVC++

This commit is contained in:
Daniel Richard G 2013-12-02 04:26:09 -05:00
parent fd9dc19a34
commit 3cc520e98c

View File

@ -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)\ $<