mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
223 lines
7.4 KiB
223 lines
7.4 KiB
#! smake
|
|
|
|
include $(ROOT)/usr/include/make/commondefs
|
|
|
|
TARGETS ?= $(T1)
|
|
|
|
T1 = libtess.a
|
|
|
|
# Compilation flags:
|
|
#
|
|
# -DNDEBUG is for the production code; it removes all assertion checks
|
|
# (note that <assert.h> looks at this symbol).
|
|
#
|
|
# -DNO_MALLOPT uses regular malloc instead of the mallopt() version.
|
|
# ***** Unless you use this flag, you must use "-lmalloc" to link
|
|
# ***** your application!
|
|
#
|
|
# -DMEMORY_DEBUG turns on the M_DEBUG option of mallopt; this can
|
|
# increase the running time a LOT.
|
|
#
|
|
# -DGLU_TESS_API_FLOAT compiles a single-precision version of the library.
|
|
#
|
|
# -float prevents automatic promotion to double precision; this will produce
|
|
# faster code when compiled with -DGLU_TESS_API_FLOAT.
|
|
#
|
|
# -DNO_BRANCH_CONDITIONS uses & and | instead of && and || on a couple
|
|
# of heavily-used tests (VertEq and VertLeq); some compilers can generate
|
|
# better code with these (use special instructions to avoid branching).
|
|
#
|
|
# -DDEBUG is *only* for use with the test program called "trite". It uses
|
|
# some variables which are defined by the test program, so you won't
|
|
# be able to link it with anything else.
|
|
#
|
|
|
|
LCOPTS = -float -O2 -DNDEBUG
|
|
LCDEFS =
|
|
|
|
LCINCS = -I.
|
|
|
|
# Also, there are several build options which are controlled by making
|
|
# symbolic links rather than with flags. There is a script called
|
|
# "configtess" which will change these links if you want to experiment.
|
|
# The choices are:
|
|
#
|
|
# configtess memalloc simple
|
|
# Uses regular malloc() and free() for memory allocation.
|
|
# configtess memalloc fast # default
|
|
# Uses a much faster block-based allocator.
|
|
# configtess priorityq heap
|
|
# Uses a heap for the priority queue implementation.
|
|
# configtess priorityq sort # default
|
|
# Quicksorts the initial vertices, uses a heap for the rest.
|
|
#
|
|
# Currently there is only one implementation for the following modules,
|
|
# but the API was designed with multiple choices in mind:
|
|
#
|
|
# configtess dict list
|
|
# A dynamic dictionary based on doubly-linked lists.
|
|
# configtess normal simple
|
|
# Approximates the normal from 3 widely separated vertices.
|
|
#
|
|
|
|
DFILES = \
|
|
Makefile \
|
|
$(NULL)
|
|
|
|
HFILES = \
|
|
tesselator.h \
|
|
dict.h \
|
|
geom.h \
|
|
mesh.h \
|
|
memalloc.h \
|
|
normal.h \
|
|
priorityq.h \
|
|
render.h \
|
|
sweep.h \
|
|
tess.h \
|
|
tessmono.h \
|
|
$(NULL)
|
|
|
|
CFILES = \
|
|
dict.c \
|
|
geom.c \
|
|
mesh.c \
|
|
memalloc.c \
|
|
normal.c \
|
|
priorityq.c \
|
|
render.c \
|
|
sweep.c \
|
|
tess.c \
|
|
tessmono.c \
|
|
$(NULL)
|
|
|
|
LINKEDFILES = \
|
|
dict.h \
|
|
dict.c \
|
|
normal.h \
|
|
normal.c \
|
|
memalloc.h \
|
|
memalloc.c \
|
|
priorityq.h \
|
|
priorityq.c \
|
|
$(NULL)
|
|
|
|
ALLFILES = \
|
|
$(DFILES) \
|
|
$(HFILES) \
|
|
$(CFILES) \
|
|
$(NULL)
|
|
|
|
default: $(TARGETS)
|
|
|
|
$(_FORCE):
|
|
|
|
lint: $(CFILES)
|
|
$(LINT) -u -x $(CFILES)
|
|
|
|
clobber: clean
|
|
rm -rf $(MKDEPFILE) $(TARGETS)
|
|
rm -rf $(LINKEDFILES)
|
|
|
|
clean: $(_FORCE)
|
|
-csh -fc "rm -f $(DIRT) >& /dev/null"
|
|
|
|
$(T1): $(OBJECTS) Makefile
|
|
rm -f $@
|
|
$(AR) crl $@ $(OBJECTS)
|
|
|
|
# These are the defaults for the modules which can be configured
|
|
# with "configtess".
|
|
|
|
normal.h: normal-simple.h
|
|
ln -s normal-simple.h normal.h
|
|
dict.h: dict-list.h
|
|
ln -s dict-list.h dict.h
|
|
memalloc.h: memalloc-fast.h
|
|
ln -s memalloc-fast.h memalloc.h
|
|
priorityq.h: priorityq-sort.h
|
|
ln -s priorityq-sort.h priorityq.h
|
|
|
|
normal.c: normal-simple.c
|
|
ln -s normal-simple.c normal.c
|
|
dict.c: dict-list.c
|
|
ln -s dict-list.c dict.c
|
|
memalloc.c: memalloc-fast.c
|
|
ln -s memalloc-fast.c memalloc.c
|
|
priorityq.c: priorityq-sort.c
|
|
ln -s priorityq-sort.c priorityq.c
|
|
|
|
|
|
#include $(ROOT)/usr/include/make/commonrules
|
|
|
|
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
|
|
|
geom.o: mesh.h tesselator.h /usr/include/stddef.h /usr/include/sgidefs.h
|
|
geom.o: /usr/include/GL/gl.h
|
|
memalloc-fast.o: /usr/include/malloc.h
|
|
memalloc-simple.o: /usr/include/malloc.h
|
|
memalloc.o: /usr/include/malloc.h
|
|
mesh.o: tesselator.h /usr/include/stddef.h /usr/include/sgidefs.h
|
|
mesh.o: /usr/include/GL/gl.h
|
|
normal-simple.o: tess.h tesselator.h /usr/include/stddef.h
|
|
normal-simple.o: /usr/include/sgidefs.h /usr/include/GL/gl.h mesh.h dict.h
|
|
normal-simple.o: priorityq.h priorityq-heap.h
|
|
normal.o: tess.h tesselator.h /usr/include/stddef.h /usr/include/sgidefs.h
|
|
normal.o: /usr/include/GL/gl.h mesh.h dict.h priorityq.h priorityq-heap.h
|
|
priorityq-sort.o: priorityq-heap.h
|
|
priorityq.o: priorityq-heap.h
|
|
render.o: mesh.h tesselator.h /usr/include/stddef.h /usr/include/sgidefs.h
|
|
render.o: /usr/include/GL/gl.h
|
|
sweep.o: mesh.h tesselator.h /usr/include/stddef.h /usr/include/sgidefs.h
|
|
sweep.o: /usr/include/GL/gl.h dict.h
|
|
tess.o: tesselator.h /usr/include/stddef.h /usr/include/sgidefs.h
|
|
tess.o: /usr/include/GL/gl.h mesh.h dict.h priorityq.h priorityq-heap.h
|
|
tesselator.o: /usr/include/stddef.h /usr/include/sgidefs.h
|
|
tesselator.o: /usr/include/GL/gl.h
|
|
dict-list.o: /usr/include/stddef.h /usr/include/sgidefs.h dict-list.h
|
|
dict-list.o: memalloc.h /usr/include/malloc.h
|
|
dict.o: /usr/include/stddef.h /usr/include/sgidefs.h dict-list.h memalloc.h
|
|
dict.o: /usr/include/malloc.h
|
|
geom.o: /usr/include/assert.h mesh.h tesselator.h /usr/include/stddef.h
|
|
geom.o: /usr/include/sgidefs.h /usr/include/GL/gl.h geom.h
|
|
memalloc-fast.o: memalloc.h /usr/include/malloc.h
|
|
memalloc-simple.o: memalloc.h /usr/include/malloc.h /usr/include/string.h
|
|
memalloc.o: memalloc.h /usr/include/malloc.h
|
|
mesh.o: /usr/include/assert.h mesh.h tesselator.h /usr/include/stddef.h
|
|
mesh.o: /usr/include/sgidefs.h /usr/include/GL/gl.h memalloc.h
|
|
mesh.o: /usr/include/malloc.h
|
|
normal-simple.o: mesh.h tesselator.h /usr/include/stddef.h
|
|
normal-simple.o: /usr/include/sgidefs.h /usr/include/GL/gl.h tess.h dict.h
|
|
normal-simple.o: priorityq.h priorityq-heap.h normal.h /usr/include/math.h
|
|
normal-simple.o: /usr/include/assert.h
|
|
normal.o: mesh.h tesselator.h /usr/include/stddef.h /usr/include/sgidefs.h
|
|
normal.o: /usr/include/GL/gl.h tess.h dict.h priorityq.h priorityq-heap.h
|
|
normal.o: normal.h /usr/include/math.h /usr/include/assert.h
|
|
oldstuff.o: /usr/include/float.h
|
|
priorityq-heap.o: /usr/include/stddef.h /usr/include/sgidefs.h
|
|
priorityq-heap.o: /usr/include/assert.h priorityq-heap.h memalloc.h
|
|
priorityq-heap.o: /usr/include/malloc.h geom.h mesh.h tesselator.h
|
|
priorityq-heap.o: /usr/include/GL/gl.h
|
|
priorityq-sort.o: /usr/include/stddef.h /usr/include/sgidefs.h
|
|
priorityq-sort.o: /usr/include/assert.h memalloc.h /usr/include/malloc.h
|
|
priorityq-sort.o: priorityq-heap.c priorityq-heap.h geom.h mesh.h
|
|
priorityq-sort.o: tesselator.h /usr/include/GL/gl.h priorityq-sort.h
|
|
priorityq.o: /usr/include/stddef.h /usr/include/sgidefs.h
|
|
priorityq.o: /usr/include/assert.h memalloc.h /usr/include/malloc.h
|
|
priorityq.o: priorityq-heap.c priorityq-heap.h geom.h mesh.h tesselator.h
|
|
priorityq.o: /usr/include/GL/gl.h priorityq-sort.h
|
|
render.o: /usr/include/assert.h mesh.h tesselator.h /usr/include/stddef.h
|
|
render.o: /usr/include/sgidefs.h /usr/include/GL/gl.h tess.h dict.h
|
|
render.o: priorityq.h priorityq-heap.h render.h
|
|
stack.o: stack.h memalloc.h /usr/include/malloc.h
|
|
sweep.o: /usr/include/assert.h mesh.h tesselator.h /usr/include/stddef.h
|
|
sweep.o: /usr/include/sgidefs.h /usr/include/GL/gl.h geom.h tess.h dict.h
|
|
sweep.o: priorityq.h priorityq-heap.h memalloc.h /usr/include/malloc.h
|
|
sweep.o: sweep.h
|
|
tess.o: memalloc.h /usr/include/malloc.h tess.h tesselator.h
|
|
tess.o: /usr/include/stddef.h /usr/include/sgidefs.h /usr/include/GL/gl.h
|
|
tess.o: mesh.h dict.h priorityq.h priorityq-heap.h normal.h sweep.h
|
|
tess.o: tessmono.h render.h
|
|
tessmono.o: geom.h mesh.h tesselator.h /usr/include/stddef.h
|
|
tessmono.o: /usr/include/sgidefs.h /usr/include/GL/gl.h tessmono.h
|
|
tessmono.o: /usr/include/assert.h
|