ac8d6fc6f2169097774c9f8d63057d91e7cff9c2
[mesa.git] / configs / beos
1 # Configuration for BeOS
2 # Written by Philippe Houdoin
3
4 include $(TOP)/configs/default
5
6 CONFIG_NAME = beos
7
8
9 DEFINES = \
10 -DBEOS_THREADS
11
12 MACHINE=$(shell uname -m)
13 ifeq ($(MACHINE), BePC)
14 CPU = x86
15 else
16 CPU = ppc
17 endif
18
19 ifeq ($(CPU), x86)
20 # BeOS x86 settings
21
22 DEFINES += \
23 -DGNU_ASSEMBLER \
24 -DUSE_X86_ASM \
25 -DUSE_MMX_ASM \
26 -DUSE_3DNOW_ASM \
27 -DUSE_SSE_ASM
28
29 MESA_ASM_SOURCES = $(X86_SOURCES)
30 GLAPI_ASM_SOURCES = $(X86_API)
31
32 CC = gcc
33 CXX = g++
34 LD = gcc
35
36 CFLAGS = \
37 -Wall -Wno-multichar -Wno-ctor-dtor-privacy \
38 $(DEFINES)
39
40 CXXFLAGS = $(CFLAGS)
41
42 # Work around aliasing bugs - developers should comment this out
43 CFLAGS += -fno-strict-aliasing
44 CXXFLAGS += -fno-strict-aliasing
45
46 LDFLAGS += -Xlinker
47
48 ifdef DEBUG
49 CFLAGS += -g -O0
50 LDFLAGS += -g
51 DEFINES += -DDEBUG
52 else
53 CFLAGS += -O3
54 endif
55
56 GLUT_CFLAGS = -fexceptions
57
58 else
59 # BeOS PPC settings
60
61 CC = mwcc
62 CXX = $(CC)
63 LD = mwldppc
64
65 CFLAGS = \
66 -w on -requireprotos \
67 $(DEFINES)
68
69 CXXFLAGS = $(CFLAGS)
70
71 LDFLAGS += \
72 -export pragma \
73 -init _init_routine_ \
74 -term _term_routine_ \
75 -lroot \
76 /boot/develop/lib/ppc/glue-noinit.a \
77 /boot/develop/lib/ppc/init_term_dyn.o \
78 /boot/develop/lib/ppc/start_dyn.o
79
80 ifdef DEBUG
81 CFLAGS += -g -O0
82 CXXFLAGS += -g -O0
83 LDFLAGS += -g
84 else
85 CFLAGS += -O7
86 CXXFLAGS += -O7
87 endif
88
89 GLUT_CFLAGS = -fexceptions
90 endif
91
92 # Directories
93 SRC_DIRS = gallium mesa glu glut/beos
94 GLU_DIRS = sgi
95 DRIVER_DIRS = beos
96
97 # Library/program dependencies
98 GL_LIB_DEPS =
99 OSMESA_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB)
100 GLU_LIB_DEPS =
101 GLUT_LIB_DEPS = -lgame -L$(TOP)/$(LIB_DIR) -l$(GL_LIB)
102 APP_LIB_DEPS = -lbe -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -l$(GLUT_LIB)
103