2 include $(TOP)/config/make.cfg
4 ################################################################################
6 ################################################################################
8 #MM- workbench-libs-complete : workbench-libs-glu-$(AROS_TARGET_TOOLCHAIN)
9 #MM- workbench-libs-glu-yes : workbench-libs-glu
11 #MM- workbench-libs-glu : workbench-libs-glu-module
13 #MM workbench-libs-glu-module : includes workbench-libs-mesa
15 SHARED_LIB_SOURCES = \
19 glu/sgi/libutil/error \
20 glu/sgi/libutil/glue \
21 glu/sgi/libutil/mipmap \
22 glu/sgi/libutil/project \
23 glu/sgi/libutil/quad \
24 glu/sgi/libutil/registry
27 glu/sgi/libtess/dict \
28 glu/sgi/libtess/geom \
29 glu/sgi/libtess/memalloc \
30 glu/sgi/libtess/mesh \
31 glu/sgi/libtess/normal \
32 glu/sgi/libtess/priorityq \
33 glu/sgi/libtess/render \
34 glu/sgi/libtess/sweep \
35 glu/sgi/libtess/tess \
36 glu/sgi/libtess/tessmono
39 glu/sgi/libnurbs/interface/bezierEval \
40 glu/sgi/libnurbs/interface/bezierPatch \
41 glu/sgi/libnurbs/interface/bezierPatchMesh \
42 glu/sgi/libnurbs/interface/glcurveval \
43 glu/sgi/libnurbs/interface/glinterface \
44 glu/sgi/libnurbs/interface/glrenderer \
45 glu/sgi/libnurbs/interface/glsurfeval \
46 glu/sgi/libnurbs/interface/incurveeval \
47 glu/sgi/libnurbs/interface/insurfeval \
48 glu/sgi/libnurbs/internals/arc \
49 glu/sgi/libnurbs/internals/arcsorter \
50 glu/sgi/libnurbs/internals/arctess \
51 glu/sgi/libnurbs/internals/backend \
52 glu/sgi/libnurbs/internals/basiccrveval \
53 glu/sgi/libnurbs/internals/basicsurfeval \
54 glu/sgi/libnurbs/internals/bin \
55 glu/sgi/libnurbs/internals/bufpool \
56 glu/sgi/libnurbs/internals/cachingeval \
57 glu/sgi/libnurbs/internals/ccw \
58 glu/sgi/libnurbs/internals/coveandtiler \
59 glu/sgi/libnurbs/internals/curve \
60 glu/sgi/libnurbs/internals/curvelist \
61 glu/sgi/libnurbs/internals/curvesub \
62 glu/sgi/libnurbs/internals/dataTransform \
63 glu/sgi/libnurbs/internals/displaylist \
64 glu/sgi/libnurbs/internals/flist \
65 glu/sgi/libnurbs/internals/flistsorter \
66 glu/sgi/libnurbs/internals/hull \
67 glu/sgi/libnurbs/internals/intersect \
68 glu/sgi/libnurbs/internals/knotvector \
69 glu/sgi/libnurbs/internals/mapdesc \
70 glu/sgi/libnurbs/internals/mapdescv \
71 glu/sgi/libnurbs/internals/maplist \
72 glu/sgi/libnurbs/internals/mesher \
73 glu/sgi/libnurbs/internals/monotonizer \
74 glu/sgi/libnurbs/internals/monoTriangulationBackend \
75 glu/sgi/libnurbs/internals/mycode \
76 glu/sgi/libnurbs/internals/nurbstess \
77 glu/sgi/libnurbs/internals/nurbsinterfac \
78 glu/sgi/libnurbs/internals/patch \
79 glu/sgi/libnurbs/internals/patchlist \
80 glu/sgi/libnurbs/internals/quilt \
81 glu/sgi/libnurbs/internals/reader \
82 glu/sgi/libnurbs/internals/renderhints \
83 glu/sgi/libnurbs/internals/slicer \
84 glu/sgi/libnurbs/internals/sorter \
85 glu/sgi/libnurbs/internals/splitarcs \
86 glu/sgi/libnurbs/internals/subdivider \
87 glu/sgi/libnurbs/internals/tobezier \
88 glu/sgi/libnurbs/internals/trimline \
89 glu/sgi/libnurbs/internals/trimregion \
90 glu/sgi/libnurbs/internals/trimvertpool \
91 glu/sgi/libnurbs/internals/uarray \
92 glu/sgi/libnurbs/internals/varray \
93 glu/sgi/libnurbs/nurbtess/directedLine \
94 glu/sgi/libnurbs/nurbtess/gridWrap \
95 glu/sgi/libnurbs/nurbtess/monoChain \
96 glu/sgi/libnurbs/nurbtess/monoPolyPart \
97 glu/sgi/libnurbs/nurbtess/monoTriangulation \
98 glu/sgi/libnurbs/nurbtess/partitionX \
99 glu/sgi/libnurbs/nurbtess/partitionY \
100 glu/sgi/libnurbs/nurbtess/polyDBG \
101 glu/sgi/libnurbs/nurbtess/polyUtil \
102 glu/sgi/libnurbs/nurbtess/primitiveStream \
103 glu/sgi/libnurbs/nurbtess/quicksort \
104 glu/sgi/libnurbs/nurbtess/rectBlock \
105 glu/sgi/libnurbs/nurbtess/sampleCompBot \
106 glu/sgi/libnurbs/nurbtess/sampleComp \
107 glu/sgi/libnurbs/nurbtess/sampleCompRight \
108 glu/sgi/libnurbs/nurbtess/sampleCompTop \
109 glu/sgi/libnurbs/nurbtess/sampledLine \
110 glu/sgi/libnurbs/nurbtess/sampleMonoPoly \
111 glu/sgi/libnurbs/nurbtess/searchTree \
114 $(addprefix ../../, $(LIBUTIL_SOURCES)) \
115 $(addprefix ../../, $(LIBTESS_SOURCES)) \
116 $(addprefix ../../, $(SHARED_LIB_SOURCES)) \
120 -I$(SRCDIR)/$(CURDIR)/../../glu/sgi/include \
121 -I$(SRCDIR)/$(CURDIR)/../../glu/sgi/libnurbs/internals \
122 -I$(SRCDIR)/$(CURDIR)/../../glu/sgi/libnurbs/nurbtess \
123 -I$(SRCDIR)/$(CURDIR)/../../aros \
125 USER_CFLAGS := -DLIBRARYBUILD -fno-asynchronous-unwind-tables -fno-exceptions
128 ################################################################################
129 # Compilation of C++ libnurbs
132 $(addprefix ../../, $(LIBNURBS_SOURCES)) \
135 ../../aros/emul_cpp \
137 CXX_SOURCES := $(CC_SOURCES) $(CPP_SOURCES)
139 CXX_OBJECTS := $(addprefix $(OBJDIR)/cpp/, $(addsuffix .o, $(notdir $(CXX_SOURCES))))
141 # Remove C-only flags
142 CXX_FLAGS := $(CFLAGS) $(USER_CFLAGS) -fno-rtti -fno-exceptions -isystem $(AROS_DEVELOPMENT)/include
143 CXX_FLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(CXX_FLAGS)))
145 # Define the use of cross compiler
146 ifeq ($(TARGET_CXX),)
147 CXX_CC := $(CROSSTOOLSDIR)/$(AROS_TARGET_CPU)-aros-g++
149 CXX_CC := $(TARGET_CXX)
152 $(CC_SOURCES) : workbench-libs-glu-module-cpp-gendir
153 %compile_q cmd=$(CXX_CC) opt=$(CXX_FLAGS) from=$(SRCDIR)/$(CURDIR)/$@.cc to="$(addsuffix .o,$(addprefix $(OBJDIR)/cpp/,$(notdir $@)))"
155 $(CPP_SOURCES) : workbench-libs-glu-module-cpp-gendir
156 %compile_q cmd=$(CXX_CC) opt=$(CXX_FLAGS) from=$(SRCDIR)/$(CURDIR)/$@.cpp to="$(addsuffix .o,$(addprefix $(OBJDIR)/cpp/,$(notdir $@)))"
159 workbench-libs-glu-module-cpp-gendir :
160 @$(MKDIR) $(OBJDIR)/cpp
162 #MM- workbench-libs-glu-module-cpp : $(CROSSTOOLS_CXX_TARGET)
165 workbench-libs-glu-module-cpp : $(CC_SOURCES) $(CPP_SOURCES)
168 workbench-libs-glu-module-cpp-quick : $(CC_SOURCES) $(CPP_SOURCES)
170 # Compilation of C++ libnurbs
171 ################################################################################
173 # Hack to get C++ objects linked into module
174 LDFLAGS += $(CXX_OBJECTS)
176 #MM- workbench-libs-glu-module: workbench-libs-glu-module-cpp
178 %build_module mmake=workbench-libs-glu-module \
179 modname=glu modtype=library linklibname=GLU \
180 files="$(LIBRARY_SOURCES)" \