
from an extrusion, with piecewise linear trim curves for everything (that are shared, so that they appear only once for the two surfaces that each trims). No Boolean operations on them, and the triangulation is bad, because gl seems to merge collinear edges. So before going further, I seem to need my own triangulation code. I have not had great luck in the past, but I can't live without it now. [git-p4: depot-paths = "//depot/solvespace/": change = 1899]
85 lines
2.7 KiB
Makefile
85 lines
2.7 KiB
Makefile
DEFINES = /D_WIN32_WINNT=0x500 /DISOLATION_AWARE_ENABLED /D_WIN32_IE=0x500 /DWIN32_LEAN_AND_MEAN /DWIN32
|
|
# 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. /Zi /EHs
|
|
|
|
HEADERS = ..\common\win32\freeze.h ui.h solvespace.h dsc.h sketch.h expr.h polygon.h srf\surface.h
|
|
|
|
OBJDIR = obj
|
|
|
|
FREEZE = $(OBJDIR)\freeze.obj
|
|
|
|
W32OBJS = $(OBJDIR)\w32main.obj \
|
|
|
|
SSOBJS = $(OBJDIR)\solvespace.obj \
|
|
$(OBJDIR)\textwin.obj \
|
|
$(OBJDIR)\textscreens.obj \
|
|
$(OBJDIR)\graphicswin.obj \
|
|
$(OBJDIR)\modify.obj \
|
|
$(OBJDIR)\util.obj \
|
|
$(OBJDIR)\entity.obj \
|
|
$(OBJDIR)\drawentity.obj \
|
|
$(OBJDIR)\group.obj \
|
|
$(OBJDIR)\groupmesh.obj \
|
|
$(OBJDIR)\request.obj \
|
|
$(OBJDIR)\glhelper.obj \
|
|
$(OBJDIR)\expr.obj \
|
|
$(OBJDIR)\constraint.obj \
|
|
$(OBJDIR)\constrainteq.obj \
|
|
$(OBJDIR)\draw.obj \
|
|
$(OBJDIR)\toolbar.obj \
|
|
$(OBJDIR)\drawconstraint.obj \
|
|
$(OBJDIR)\file.obj \
|
|
$(OBJDIR)\undoredo.obj \
|
|
$(OBJDIR)\system.obj \
|
|
$(OBJDIR)\polygon.obj \
|
|
$(OBJDIR)\mesh.obj \
|
|
$(OBJDIR)\bsp.obj \
|
|
$(OBJDIR)\ttf.obj \
|
|
$(OBJDIR)\generate.obj \
|
|
$(OBJDIR)\export.obj \
|
|
|
|
SRFOBJS = $(OBJDIR)\ratpoly.obj \
|
|
$(OBJDIR)\triangulate.obj \
|
|
|
|
|
|
RES = $(OBJDIR)\resource.res
|
|
|
|
|
|
LIBS = user32.lib gdi32.lib comctl32.lib advapi32.lib shell32.lib opengl32.lib glu32.lib \
|
|
extlib\libpng.lib extlib\zlib.lib
|
|
|
|
all: $(OBJDIR)/solvespace.exe
|
|
@cp $(OBJDIR)/solvespace.exe .
|
|
solvespace t.slvs
|
|
|
|
clean:
|
|
rm -f obj/*
|
|
|
|
$(OBJDIR)/solvespace.exe: $(SRFOBJS) $(SSOBJS) $(W32OBJS) $(FREEZE) $(RES)
|
|
@$(CC) $(DEFINES) $(CFLAGS) -Fe$(OBJDIR)/solvespace.exe $(SSOBJS) $(SRFOBJS) $(W32OBJS) $(FREEZE) $(RES) $(LIBS)
|
|
editbin /nologo /STACK:8388608 $(OBJDIR)/solvespace.exe
|
|
@echo solvespace.exe
|
|
|
|
$(SSOBJS): $(@B).cpp $(HEADERS)
|
|
@$(CC) $(CFLAGS) $(DEFINES) -c -Fo$(OBJDIR)/$(@B).obj $(@B).cpp
|
|
|
|
$(SRFOBJS): srf\$(@B).cpp $(HEADERS)
|
|
@$(CC) $(CFLAGS) $(DEFINES) -c -Fo$(OBJDIR)/$(@B).obj srf\$(@B).cpp
|
|
|
|
$(W32OBJS): win32/$(@B).cpp $(HEADERS)
|
|
@$(CC) $(CFLAGS) $(DEFINES) -c -Fo$(OBJDIR)/$(@B).obj win32/$(@B).cpp
|
|
|
|
$(FREEZE): ..\common\win32\$(@B).cpp $(HEADERS)
|
|
@$(CC) $(CFLAGS) $(DEFINES) -c -Fo$(OBJDIR)/$(@B).obj ..\common\win32\$(@B).cpp
|
|
|
|
$(RES): win32/$(@B).rc icon.ico
|
|
rc win32/$(@B).rc
|
|
mv win32/$(@B).res $(OBJDIR)/$(@B).res
|
|
|
|
toolbar.cpp: $(OBJDIR)/icons.h
|
|
|
|
$(OBJDIR)/icons.h: icons/* png2c.pl
|
|
perl png2c.pl > $(OBJDIR)/icons.h
|
|
|