Philippe Houdoin | af8031c | 2004-08-14 09:18:04 +0000 | [diff] [blame] | 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 | |
José Fonseca | 90b2beb | 2008-02-19 13:27:13 +0900 | [diff] [blame] | 29 | MESA_ASM_SOURCES = $(X86_SOURCES) |
| 30 | GLAPI_ASM_SOURCES = $(X86_API) |
Philippe Houdoin | af8031c | 2004-08-14 09:18:04 +0000 | [diff] [blame] | 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 | |
Dan Nicholson | 01b18ab | 2007-11-01 06:01:53 -0700 | [diff] [blame] | 42 | # Work around aliasing bugs - developers should comment this out |
| 43 | CFLAGS += -fno-strict-aliasing |
| 44 | CXXFLAGS += -fno-strict-aliasing |
| 45 | |
Philippe Houdoin | af8031c | 2004-08-14 09:18:04 +0000 | [diff] [blame] | 46 | LDFLAGS += -Xlinker |
| 47 | |
| 48 | ifdef DEBUG |
| 49 | CFLAGS += -g -O0 |
Philippe Houdoin | af8031c | 2004-08-14 09:18:04 +0000 | [diff] [blame] | 50 | LDFLAGS += -g |
Philippe Houdoin | b227e90 | 2004-08-24 08:17:08 +0000 | [diff] [blame] | 51 | DEFINES += -DDEBUG |
Philippe Houdoin | af8031c | 2004-08-14 09:18:04 +0000 | [diff] [blame] | 52 | else |
Philippe Houdoin | 25f2d96 | 2004-08-14 14:29:21 +0000 | [diff] [blame] | 53 | CFLAGS += -O3 |
Philippe Houdoin | af8031c | 2004-08-14 09:18:04 +0000 | [diff] [blame] | 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 |
José Fonseca | 57d0001 | 2009-01-23 12:32:35 +0000 | [diff] [blame] | 93 | SRC_DIRS = gallium mesa glu glut/beos glew |
Philippe Houdoin | 375047b | 2004-08-16 08:42:05 +0000 | [diff] [blame] | 94 | GLU_DIRS = sgi |
Philippe Houdoin | af8031c | 2004-08-14 09:18:04 +0000 | [diff] [blame] | 95 | DRIVER_DIRS = beos |
Philippe Houdoin | 375047b | 2004-08-16 08:42:05 +0000 | [diff] [blame] | 96 | PROGRAM_DIRS = beos samples redbook demos tests |
Philippe Houdoin | af8031c | 2004-08-14 09:18:04 +0000 | [diff] [blame] | 97 | |
| 98 | # Library/program dependencies |
| 99 | GL_LIB_DEPS = |
Brian Paul | 883f989 | 2006-07-13 02:50:27 +0000 | [diff] [blame] | 100 | OSMESA_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) |
Philippe Houdoin | af8031c | 2004-08-14 09:18:04 +0000 | [diff] [blame] | 101 | GLU_LIB_DEPS = |
Brian Paul | 883f989 | 2006-07-13 02:50:27 +0000 | [diff] [blame] | 102 | GLUT_LIB_DEPS = -lgame -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) |
| 103 | APP_LIB_DEPS = -lbe -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -l$(GLUT_LIB) |
Philippe Houdoin | af8031c | 2004-08-14 09:18:04 +0000 | [diff] [blame] | 104 | |