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 # This is an NMAKE-compatible makefile.
# 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-
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 = obj
$(OBJDIR)\entity.obj \
$(OBJDIR)\expr.obj \
$(OBJDIR)\constrainteq.obj \
$(OBJDIR)\system.obj \
SSOBJS = $(OBJDIR)\constrainteq.obj \
$(OBJDIR)\entity.obj \
$(OBJDIR)\expr.obj \
$(OBJDIR)\system.obj \
$(OBJDIR)\util.obj
W32OBJS = $(OBJDIR)\w32util.obj \ W32OBJS = $(OBJDIR)\w32util.obj
LIBOBJS = $(OBJDIR)\lib.obj \
LIBOBJS = $(OBJDIR)\lib.obj
LIBS = user32.lib gdi32.lib comctl32.lib advapi32.lib shell32.lib LIBS = user32.lib gdi32.lib comctl32.lib advapi32.lib shell32.lib
all: $(OBJDIR)/CDemo.exe all: $(OBJDIR)\CDemo.exe
@cp $(OBJDIR)/CDemo.exe . @copy /y $(OBJDIR)\slvs.dll .
CDemo.exe @echo slvs.dll
@copy /y $(OBJDIR)\CDemo.exe .
@echo CDemo.exe
clean: clean:
rm -f obj/* -rmdir /s /q $(OBJDIR)
$(OBJDIR)/slvs.dll: $(SSOBJS) $(LIBOBJS) $(W32OBJS) $(OBJDIR)\slvs.dll: $(SSOBJS) $(LIBOBJS) $(W32OBJS)
@$(CC) /LD -Fe$(OBJDIR)/slvs.dll $(SSOBJS) $(LIBOBJS) $(W32OBJS) $(LIBS) $(CXX) $(CXXFLAGS) /LD /Fe$(OBJDIR)\slvs.dll $(SSOBJS) $(LIBOBJS) $(W32OBJS) $(LIBS)
@cp $(OBJDIR)/slvs.dll .
@echo slvs.dll
$(OBJDIR)/CDemo.exe: CDemo.c $(OBJDIR)/slvs.dll $(OBJDIR)\CDemo.exe: CDemo.c $(OBJDIR)\slvs.dll
@$(CC) $(CFLAGS) -Fe$(OBJDIR)/CDemo.exe CDemo.c $(OBJDIR)/slvs.lib $(LIBS) $(CC) $(CFLAGS) $(DEFINES) /Fo$(OBJDIR)\ /Fe$(OBJDIR)\CDemo.exe CDemo.c $(OBJDIR)\slvs.lib $(LIBS)
@echo CDemo.exe
$(SSOBJS): ..\$(@B).cpp $(HEADERS) .cpp{$(OBJDIR)}.obj::
@$(CC) $(CFLAGS) $(DEFINES) -c -Fo$(OBJDIR)/$(@B).obj ..\$(@B).cpp @if not exist $(OBJDIR) mkdir $(OBJDIR)
$(CXX) $(CXXFLAGS) $(DEFINES) /c /Fo$(OBJDIR)\ $<
$(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
{..\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)\ $<