/
makedefs
497 lines (440 loc) · 15.3 KB
/
makedefs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
SHELL = /bin/sh
OS := $(shell uname)
## We don't care about architectural distinguishers in the OS
## such as IRIX64, IRIX32, etc. so we truncate IRIX?? to IRIX
ifeq ($(findstring IRIX,$(OS)),IRIX)
OS := IRIX
endif
## Make CYGWIN_XXXX CYGWIN so it's "Windows cross platform" :)
ifeq ($(findstring CYGWIN,$(OS)),CYGWIN)
OS := CYGWIN
endif
## Make MINGW_XXXX MINGW so it's "Windows cross platform" :)
ifeq ($(findstring MINGW,$(OS)),MINGW)
OS := MINGW
endif
# TOPDIR needs to be redefined for every Makefile
TOPDIR ?= ../
THISDIR = .
MAKEDEPEND = ignore
INC = -I$(TOPDIR)/include
DEF =
CXXFLAGS = $(ARCHARGS) $(DOF) $(DEF) $(INC)
LDFLAGS = $(ARCHARGS) $(DOF) $(LINKARGS) -L$(TOPDIR)/lib
OBJS = $(C++FILES:.cpp=.o) \
$(CXXFILES:.cpp=.o) \
$(CFILES:.c=.o) \
DOF = $(OPTF)
DEBUGDIR = $(OS)$(ARCH).Debug
OPTDIR = $(OS)$(ARCH).Opt
BININST = bin
LIBINST = lib
PLUGININST = lib/osgPlugins
INST_SYS_PREFIX = /usr/local
INST_LIBS = $(INST_SYS_PREFIX)/lib$(ARCH)
INST_PLUGINS = $(INST_SYS_PREFIX)/lib$(ARCH)/osgPlugins
INST_INCLUDE = $(INST_SYS_PREFIX)/include
INST_SHARE_PREFIX = /usr/share
INST_DEMOS = $(INST_SHARE_PREFIX)/OpenSceneGraph/bin
INST_SRC = $(INST_SHARE_PREFIX)/OpenSceneGraph/src
INST_DOC = $(INST_SHARE_PREFIX)/OpenSceneGraph/doc
INST_DATA = $(INST_SHARE_PREFIX)/OpenSceneGraph/data
INST_DEMO_SRC = $(INST_SRC)/demos
LINK = ln -sf
INSTBINCMD = install -m 755
INSTDEVCMD = install -m 644
INSTLINKBINCMD = $(LINK)
INSTLINKDEVCMD = $(LINK)
LIB_PREFIX = lib
LIB_EXT = so
PLUGIN_PREFIX = osgdb_
PLUGIN_EXT = so
MAKEDIST = echo " === Distribution build is not implemented yet for $(OS)"; printf "\n"
INSTLOGFILE = /tmp/.osg_inst_log
RECURSIVE_TARGETS = \
opt\
debug\
clean\
cleandepend\
cleandependopt\
cleandependdbg\
cleandbg\
cleanopt\
cleantarget\
cleantargetopt\
cleantargetdbg\
clobber\
clobberdbg\
clobberopt\
beautify\
docs\
depend\
#### SUN OS Specific definitions
ifeq ($(OS),SunOS)
#### if useing g++ on a sun
ifeq ($(COMPILER),gnu)
C++ = g++
DEPARG = -M
INC += -I/usr/local/glut-3.7/include
DEF += -W -Wall -fPIC -fpermissive
OPTF = -O2
DBGF = -g -DOSG_COMPILE_UNIT_TESTS
SHARED = -shared -fPIC
ifeq ($(ARCH),64)
ARCHARGS = -m64
else
ARCHARGS =
endif
LINKARGS =
DYNAMICLIBRARYLIB = -ldl
OSG_LIBS = -losgGLUT -losgGA -losgDB -losgUtil -losg
FREETYPE_LIB = -L/usr/local/lib -lfreetype
GLUT_LIB = -L/usr/local/glut-3.7/lib/glut -lglut
GL_LIBS = -lGLU -lGL
X_LIBS = -lXext -lXmu -lXi -lX11
SOCKET_LIBS = -lsocket -lnsl
OTHER_LIBS =
TIFF_LIB = -ltiff
INSTBINCMD = cp
INSTDEVCMD = cp
INST_SYS_PREFIX = /opt/OpenSceneGraph
INST_SHARE_PREFIX = /opt
MAKEDIST = $(TOPDIR)/Make/makepkg
#### using forte compilers (default)
else
C++ = CC
DEPARG = -xM1
INC +=
DEF += -features=extensions
OPTF = -xO4
DBGF = -g -DOSG_COMPILE_UNIT_TESTS
SHARED = -G
ifeq ($(ARCH),64)
ARCHARGS = -xarch=v9
else
ARCHARGS =
endif
LINKARGS =
DYNAMICLIBRARYLIB = -ldl
OSG_LIBS = -losgGLUT -losgGA -losgDB -losgUtil -losg
FREETYPE_LIB = -L/usr/local/lib -lfreetype
GLUT_LIB = -lglut
GL_LIBS = -lGLU -lGL
X_LIBS = -lXext -lXmu -lXi -lX11
SOCKET_LIBS = -lsocket -lnsl
OTHER_LIBS = -lCstd
TIFF_LIB = -ltiff
INSTBINCMD = cp
INSTDEVCMD = cp
INST_SYS_PREFIX = /opt/OpenSceneGraph
INST_SHARE_PREFIX = /opt
MAKEDIST = $(TOPDIR)/Make/makepkg
endif
endif
#### IRIX Specific definitions
ifeq ($(OS),IRIX)
C++ = CC
DEPARG = -M
INC += -I${TOPDIR}/include -I/usr/freeware/
DEF += -LANG:std -OPT:Olimit=0 \
-DEBUG:woff=1682 -DEBUG:woff=3303\
-MDupdate $(MAKEDEPEND)
OPTF = -O2
DBGF = -g -DOSG_COMPILE_UNIT_TESTS
SHARED = -shared
ARCH = 32
ifeq ($(ARCH),64)
ARCHARGS = -64
FREETYPE_LIB = -L/usr/freeware/lib64 -lfreetype
PF_XTRA_LIBS = -L/usr/lib64/libpfdb -rpath /usr/lib64/libpfdb \
-lpf3ds -lpfdem -lpfdted -lpfdwb -lpfdxf -lpfevt \
-lpfflt -lpfgds -lpfgfo -lpfim -lpflsa -lpflsb \
-lpfnff -lpfobj -lpfpegg -lpfpfb -lpfphd -lpfpts \
-lpfrot -lpfscale -lpfsgf -lpfsgo -lpfsphere -lpfsv \
-lpftri -lpfunc -lpfvct -lpfdu -lpfutil -lpf -limage
else
ARCHARGS = -n32
FREETYPE_LIB = -L/usr/freeware/lib32 -lfreetype
PF_XTRA_LIBS = -L/usr/lib32/libpfdb -rpath /usr/lib32/libpfdb \
-lpf3ds -lpfdem -lpfdted -lpfdwb -lpfdxf -lpfevt \
-lpfflt -lpfgds -lpfgfo -lpfim -lpflsa -lpflsb \
-lpfnff -lpfobj -lpfpegg -lpfpfb -lpfphd -lpfpts \
-lpfrot -lpfscale -lpfsgf -lpfsgo -lpfsphere -lpfsv \
-lpftri -lpfunc -lpfvct -lpfdu -lpfutil -lpf -limage
endif
LINKARGS = -L${TOPDIR}/lib -LANG:std -OPT:Olimit=0
DYNAMICLIBRARYLIB =
OSG_LIBS = -losgGLUT -losgGA -losgDB -losgUtil -losg
GLUT_LIB = -lglut
GL_LIBS = -lGLU -lGL
X_LIBS = -lXext -lXi -lXmu -lX11
SOCKET_LIBS =
OTHER_LIBS = -lm
PNG_LIBS = -lpng
JPEG_LIBS = -ljpeg
TIFF_LIB = -ltiff
GIF_LIBS = -lungif
endif
#### Linux specific definitions
ifeq ($(OS),Linux)
ifeq (x$(CXX),x)
C++ = g++
else
C++ = $(CXX)
endif
DEPARG = -M
INC +=
DEF += -W -Wall
OPTF = -O2
DBGF = -g -DOSG_COMPILE_UNIT_TESTS -DOSG_USE_MEMORY_MANAGER
SHARED = -shared
ARCHARGS =
LINKARGS = -L/usr/X11R6/lib
LIBS = -lstdc++
DYNAMICLIBRARYLIB = -ldl
OSG_LIBS = -losgGLUT -losgGA -losgDB -losgUtil -losg
FREETYPE_LIB = -lfreetype
GLUT_LIB = -lglut
GL_LIBS = -lGLU -lGL
X_LIBS = -lXi -lXmu -lX11
PF_XTRA_LIBS = -L/usr/lib/libpfdb -Xlinker -rpath /usr/lib/libpfdb \
-lpf3ds -lpfdem -lpfdted -lpfdwb -lpfdxf -lpfevt \
-lpfflt -lpfgds -lpfgfo -lpfim -lpflsa -lpflsb \
-lpfnff -lpfobj -lpfpegg -lpfpfb -lpfphd -lpfpts \
-lpfrot -lpfscale -lpfsgf -lpfsgo -lpfsphere -lpfsv \
-lpftri -lpfunc -lpfvct -lpfdu -lpfutil -lpf
SOCKET_LIBS =
OTHER_LIBS = -lpthread
PNG_LIBS = -lpng
JPEG_LIBS = -ljpeg
TIFF_LIB = -ltiff
GIF_LIBS = -lgif
MAKEDIST = $(TOPDIR)/Make/makerpms
endif
#### FreeBSD specific definitions
ifeq ($(OS),FreeBSD)
C++ = g++
DEPARG = -MM
INC += -I/usr/local/include -I/usr/X11R6/include
DEF += -W -Wall
OPTF = -O2
DBGF = -g -DOSG_COMPILE_UNIT_TESTS
SHARED = -shared
ARCHARGS =
LINKARGS = -L/usr/X11R6/lib -L/usr/local/lib -rpath /usr/local/lib
DYNAMICLIBRARYLIB =
OSG_LIBS = -losgGLUT -losgGA -losgDB -losgUtil -losg
FREETYPE_LIB = -lfreetype
GLUT_LIB = -lglut
GL_LIBS = -lGLU -lGL
X_LIBS = -lXmu -lX11
SOCKET_LIBS =
OTHER_LIBS =
INST_SYS_PREFIX = /opt/X11R6
INST_SHARE_PREFIX = /usr/share/OpenSceneGraph
endif
#### MacOS X specific definitions
ifeq ($(OS),Darwin)
C++ = cc
INC += -I/usr/include
DEF += -Wall -D__DARWIN_OSX__
OPTF = -O2
DBGF = -g -DOSG_COMPILE_UNIT_TESTS
DEPARG = -M $(DEF)
SHARED = -shared
ARCHARGS =
LINKARGS = -L/usr/lib
DYNAMICLIBRARYLIB =
OSG_LIBS = -losgGLUT -losgGA -losgDB -losgUtil -losg
FREETYPE_LIB = -lfreetype
GLUT_LIB = -framework GLUT
CARBON_LIB = -framework Carbon
GL_LIBS = -framework OpenGL $(CARBON_LIB)
X_LIBS =
SOCKET_LIBS =
OTHER_LIBS = -lm -lstdc++ -lobjc
LIB_EXT = dylib
QUICKTIME = -framework QuickTime $(CARBON_LIB)
TIFF_LIB = -ltiff
SRC_DIRS = osg osgUtil osgDB \
osgGA osgGLUT \
osgPlugins osgParticle \
Demos
# Plugins which require external libs: gif jpeg png tiff
PLUGIN_DIRS = bmp dw flt \
lib3ds logos lwo obj \
osg osgtgz pic \
quicktime rgb tga tgz \
txp zip
# Demos which require external libs: osghud osgtext
DEMOS_DIRS = osgbillboard osgcallback osgclip \
osgcluster osgconv osgcopy osgcube osggeometry \
osghangglide osgimpostor osgmultitexture osgoccluder \
osgparticle osgprerender osgreflect osgscribe osgstereoimage \
osgtexture1D osgtexture2D osgtexture3D osgversion osgviews sgv
endif
#### Cygwin/Mingw specific definitions
ifeq ($(OS),CYGWIN)
C++ = c++
DEPARG = -M
INC +=
DEF += -DWIN32 -W -Wall
OPTF = -O2
DBGF = -g -DOSG_COMPILE_UNIT_TESTS
SHARED = -shared\
-Wl,--export-all-symbols \
-Wl,--output-def,lib$(TARGET_BASENAME).def \
-Wl,--out-implib,$(TOPDIR)/lib/lib$(TARGET_BASENAME).dll.a \
ARCHARGS =
LINKARGS = -W -Wall
DYNAMICLIBRARYLIB =
OSG_LIBS = -losgGLUT -losgGA -losgDB -losgUtil -losg
GL_LIBS = -lglu32 -lopengl32
GLUT_LIB = -lglut32 $(GL_LIBS)
X_LIBS = -lgdi32 -luser32
OSGDB_LIBS = -losgdb_3ds \
-losgdb_bmp \
-losgdb_dw \
-losgdb_flt \
-losgdb_jpg \
-losgdb_lwo \
-losgdb_obj \
-losgdb_osg \
-losgdb_osgtgz \
-losgdb_pic \
-losgdb_png \
-losgdb_rgb \
-losgdb_tga \
-losgdb_tgz \
-losgdb_tiff \
-losgdb_zip
SOCKET_LIBS =
OTHER_LIBS = $(GL_LIBS)
PNG_LIBS = -lpng -lz
JPEG_LIBS = -ljpeg
GIF_LIBS = -lungif
TIFF_LIB = -ltiff -lz -ljpeg
FREETYPE_LIB = -lfreetype2
LIB_PREFIX = cyg
LIB_EXT = dll
PLUGIN_EXT = dll
LINK = cp -f
INST_SYS_PREFIX = /usr/local/OpenSceneGraph
INST_LIBS = $(INST_SYS_PREFIX)/bin
INST_PLUGINS = $(INST_SYS_PREFIX)/bin
INST_INCLUDE = $(INST_SYS_PREFIX)/include
INST_SHARE_PREFIX = /usr/local/OpenSceneGraph
INST_DEMOS = $(INST_SHARE_PREFIX)/bin
INST_DEMO_SRC = $(INST_SHARE_PREFIX)/src/demos
INST_DOC = $(INST_SHARE_PREFIX)/doc
INST_DATA = $(INST_SHARE_PREFIX)/data
endif
#### Cygwin/Mingw specific definitions
ifeq ($(OS),MINGW)
C++ = c++
DEPARG = -M
INC +=
DEF += -DWIN32 -Wall
# -W
OPTF = -O2
DBGF = -g -DOSG_COMPILE_UNIT_TESTS
SHARED = -shared\
-Wl,--export-all-symbols \
-Wl,--output-def,lib$(TARGET_BASENAME).def \
-Wl,--out-implib,$(TOPDIR)/lib/lib$(TARGET_BASENAME).dll.a \
ARCHARGS =
LINKARGS = -W -Wall
DYNAMICLIBRARYLIB =
OSG_LIBS = -losgGLUT -losgGA -losgDB -losgUtil -losg
GL_LIBS = -lglu32 -lopengl32
GLUT_LIB = -lglut32 $(GL_LIBS)
X_LIBS = -lgdi32 -luser32
OSGDB_LIBS = -losgdb_3ds \
-losgdb_bmp \
-losgdb_dw \
-losgdb_flt \
-losgdb_jpg \
-losgdb_lwo \
-losgdb_obj \
-losgdb_osg \
-losgdb_osgtgz \
-losgdb_pic \
-losgdb_png \
-losgdb_rgb \
-losgdb_tga \
-losgdb_tgz \
-losgdb_tiff \
-losgdb_zip
SOCKET_LIBS =
OTHER_LIBS = $(GL_LIBS)
PNG_LIBS = -lpng -lz
JPEG_LIBS = -ljpeg
GIF_LIBS = -lungif
TIFF_LIB = -ltiff -lz -ljpeg
FREETYPE_LIB = -lfreetype
# LIB_PREFIX = cyg
LIB_PREFIX = lib
LIB_EXT = dll
PLUGIN_EXT = dll
LINK = cp -f
INST_SYS_PREFIX = /usr/local/OpenSceneGraph
INST_LIBS = $(INST_SYS_PREFIX)/bin
INST_PLUGINS = $(INST_SYS_PREFIX)/bin
INST_INCLUDE = $(INST_SYS_PREFIX)/include
INST_SHARE_PREFIX = /usr/local/OpenSceneGraph
INST_DEMOS = $(INST_SHARE_PREFIX)/bin
INST_DEMO_SRC = $(INST_SHARE_PREFIX)/src/demos
INST_DOC = $(INST_SHARE_PREFIX)/doc
INST_DATA = $(INST_SHARE_PREFIX)/data
PLUGIN_DIRS = osg rgb lib3ds flt obj lwo bmp pic tga osgtgz tgz zip
# txp
DEMOS_DIRS = hangglide osgbillboard osgconv osgcopy osgcube osgimpostor\
osgreflect osgscribe osgstereoimage osgtexture1D osgtexture2D osgtexture3D\
osgviews osgversion sgv osghud osgtext
# osgcluster
endif
#### HP-UX Specific definitions
# contributed by tino.schwarze@informatik.tu-chemnitz.de
ifeq ($(OS),HP-UX)
C++ = g++
DEPARG = -M
INC += -I/opt/glut/include
DEF += -W -Wall -fPIC
OPTF = -O2
# gcc 3.1 uses DWARF as default, my GDB might not yet support this...
# at least I've got problems everywhere
DBGF = -g -gstabs+ -DOSG_COMPILE_UNIT_TESTS
SHARED = -shared -fPIC
ARCH = 32
ifeq ($(ARCH),64)
# not yet tested
ARCHARGS = -march=2.0
else
# at least my gcc 3.1 defaults to HP-PA RISC 1.1
ARCHARGS =
endif
LINKARGS = -lpthread
LIB_EXT = sl
PLUGIN_EXT = sl
DYNAMICLIBRARYLIB = -ldld
OSG_LIBS = -losgGLUT -losgGA -losgDB -losgUtil -losg
# glut delivered with HP-UX is outdated
GLUT_LIB = -L/opt/glut/lib -lglut
GL_LIBS = -L/opt/graphics/OpenGL/lib -lGLU -lGL
X_LIBS = -L/usr/lib/X11R6 -lXext -lXi -lX11 -L/usr/lib/X11R4 -lXmu
SOCKET_LIBS =
# make sure that global constructors/destructors are called upon
# shl_load() / shl_unload() - this is a gcc specific workaround
OTHER_LIBS = -lm -Wl,+init -Wl,_GLOBAL__DI -Wl,+fini -Wl,_GLOBAL__DD
FREETYPE_INCLUDE = -I/opt/freetype/include -I/opt/freetype/include/freetype2
FREETYPE_LIB = -L/opt/freetype/lib -lfreetype
PNG_INCLUDE = -I/opt/libpng/include
PNG_LIBS = -L/opt/libpng/lib -lpng -L/opt/zlib/lib -lz
JPEG_INCLUDE = -I/opt/jpeg-6/include
JPEG_LIBS = -L/opt/jpeg-6/lib -ljpeg
TIFF_INCLUDE = -I/opt/tiff-3.5/include
TIFF_LIB = -L/opt/tiff-3.5/lib -ltiff
GIF_INCLUDE = -I/opt/libungif/include
GIF_LIBS = -L/opt/libungif/lib -lungif
endif
VPATH=..