-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathmakefile.linux
More file actions
85 lines (64 loc) · 2.2 KB
/
makefile.linux
File metadata and controls
85 lines (64 loc) · 2.2 KB
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
PREFIX?=/usr/local
ENABLE_PNG?=Yes
ENABLE_TILE_RENDERING?=Yes
ENABLE_OFFSCREEN_RENDERING?=Yes
ENABLE_TEST_GUI?=Yes
MYCC?=gcc
MYCXX?=$(CC)
CC=$(TOOLPREFIX)$(MYCC)
CXX=$(TOOLPREFIX)$(MYCXX)
# PNG output option
ifeq ($(ENABLE_PNG),Yes)
PNG_FLAGS=-DUSE_PNG
PNG_LIBS= -lpng -lz
endif
# Tile rendering option
ifeq ($(ENABLE_TILE_RENDERING),Yes)
TR_FLAGS=-DTILE_RENDER_OPTION
TR_SRC=tr.c
endif
# Mesa offscreen rendering option
ifeq ($(ENABLE_OFFSCREEN_RENDERING),Yes)
# This needs (namespace?) fixing to work with GLX mesa.
OFFSCREEN_FLAGS=-DOSMESA_OPTION
OFFSCREEN_LIBS= -lOSMesa
# Switch to this one to build with static OSMesa lib.
#OFFSCREEN_LIBS= /usr/X11R6/lib/libOSMesa.a
# NOTE: Mesa Offscreen lib is not required in some older? version of Mesa?
endif
# Test GUI option
ifeq ($(ENABLE_TEST_GUI),Yes)
# Define both MUI and GLUT to access the MUI GUI via the GLUT menu.
#GUI_FLAGS=-DTEST_MUI_GUI -I./mui/include -DUSE_GLUT_MENUS
GUI_FLAGS=-DTEST_MUI_GUI -I./mui/include
GUI_SRC=ldglgui.c
GUI_LIBS=-L./mui/lib/mui -lmui
LIBS = libmui.a
endif
ifdef LDRAWDIR
LDRAWDIR_FLAGS=-DLDRAWDIR=\"$(LDRAWDIR)\"
endif
CFLAGS=-g -DUNIX -DUSE_OPENGL -DUSE_ALPHA_BUFFER -DUSE_L3_PARSER -DUSE_BMP8 $(PNG_FLAGS) $(TR_FLAGS) $(OFFSCREEN_FLAGS) $(GUI_FLAGS) $(LDRAWDIR_FLAGS)
CXXFLAGS=$(CFLAGS)
SRCS = ldliteVR_main.c platform.c dirscan.c gleps.c camera.c f00QuatC.c quant.c stub.c lcolors.c y.tab.c lex.yy.c qbuf.c main.c ldglpr.c L3Edit.c L3Math.c L3Input.c L3View.c hoser.c ldglmenu.c plugstub.c $(TR_SRC) $(GUI_SRC)
OBJS = $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(SRCS)))
all: ldglite
ldglite: $(OBJS) $(LIBS)
$(CC) $(CFLAGS) $(OBJS) -o ldglite $(PNG_LIBS) $(OFFSCREEN_LIBS) $(GUI_LIBS) -lglut -lGLU -lGL -lX11 -lXext -lm
rm -rf l3glite
ln -s ldglite l3glite
rm -rf l3gledit
ln -s ldglite l3gledit
libmui.a:
if [ -d mui/lib/mui ] ; then cd mui/lib/mui ; $(MAKE) -f Makefile $@ ; fi
l3glite: ldglite
l3gledit: ldglite
clean:
rm *.o *.a
install:
mkdir -p $(DESTDIR)$(PREFIX)/bin
cp -a -f ldglite l3glite l3gledit $(DESTDIR)$(PREFIX)/bin
uninstall:
rm -f $(DESTDIR)$(PREFIX)/bin/ldglite
rm -f $(DESTDIR)$(PREFIX)/bin/l3glite
rm -f $(DESTDIR)$(PREFIX)/bin/l3gledit