Tizen 2.0 Release
[profile/ivi/osmesa.git] / src / mesa / drivers / beos / Makefile
1 # src/mesa/drivers/beos/Makefile
2
3 TOP = ../../../..
4 include $(TOP)/configs/current
5
6 include $(TOP)/src/mesa/sources
7
8 MESA_MODULES = $(TOP)/src/mesa/mesa.a
9 # To switch back to old Mesa GLU implementation (but why do
10 # you want this!), uncomment this next line:
11
12 # GLU_DIR       = $(TOP)/src/glu/mesa
13 ifeq ($(GLU_DIR),)
14 # By default, we build the SGI GLU implementation
15         GLU_DIR = $(TOP)/src/glu/sgi
16 endif
17
18 ifeq ($(GLU_DIR), $(TOP)/src/glu/mesa)
19         GLU_MODULES = \
20                 $(GLU_DIR)/glu.o \
21                 $(GLU_DIR)/mipmap.o \
22                 $(GLU_DIR)/nurbs.o \
23                 $(GLU_DIR)/nurbscrv.o \
24                 $(GLU_DIR)/nurbssrf.o \
25                 $(GLU_DIR)/nurbsutl.o \
26                 $(GLU_DIR)/polytest.o \
27                 $(GLU_DIR)/project.o \
28                 $(GLU_DIR)/quadric.o \
29                 $(GLU_DIR)/tess.o \
30                 $(GLU_DIR)/tesselat.o
31 else
32         GLU_MODULES = \
33                 $(GLU_DIR)/libutil/error.o \
34                 $(GLU_DIR)/libutil/glue.o \
35                 $(GLU_DIR)/libutil/mipmap.o     \
36                 $(GLU_DIR)/libutil/project.o \
37                 $(GLU_DIR)/libutil/quad.o \
38                 $(GLU_DIR)/libutil/registry.o \
39                 $(GLU_DIR)/libtess/dict.o \
40                 $(GLU_DIR)/libtess/geom.o \
41                 $(GLU_DIR)/libtess/memalloc.o \
42                 $(GLU_DIR)/libtess/mesh.o \
43                 $(GLU_DIR)/libtess/normal.o     \
44                 $(GLU_DIR)/libtess/priorityq.o \
45                 $(GLU_DIR)/libtess/render.o     \
46                 $(GLU_DIR)/libtess/sweep.o \
47                 $(GLU_DIR)/libtess/tess.o \
48                 $(GLU_DIR)/libtess/tessmono.o \
49                 $(GLU_DIR)/libnurbs/interface/bezierEval.o              \
50                 $(GLU_DIR)/libnurbs/interface/bezierPatch.o             \
51                 $(GLU_DIR)/libnurbs/interface/bezierPatchMesh.o         \
52                 $(GLU_DIR)/libnurbs/interface/glcurveval.o              \
53                 $(GLU_DIR)/libnurbs/interface/glinterface.o             \
54                 $(GLU_DIR)/libnurbs/interface/glrenderer.o              \
55                 $(GLU_DIR)/libnurbs/interface/glsurfeval.o              \
56                 $(GLU_DIR)/libnurbs/interface/incurveeval.o             \
57                 $(GLU_DIR)/libnurbs/interface/insurfeval.o              \
58                 $(GLU_DIR)/libnurbs/internals/arc.o                     \
59                 $(GLU_DIR)/libnurbs/internals/arcsorter.o                       \
60                 $(GLU_DIR)/libnurbs/internals/arctess.o                 \
61                 $(GLU_DIR)/libnurbs/internals/backend.o                 \
62                 $(GLU_DIR)/libnurbs/internals/basiccrveval.o            \
63                 $(GLU_DIR)/libnurbs/internals/basicsurfeval.o           \
64                 $(GLU_DIR)/libnurbs/internals/bin.o                     \
65                 $(GLU_DIR)/libnurbs/internals/bufpool.o                 \
66                 $(GLU_DIR)/libnurbs/internals/cachingeval.o             \
67                 $(GLU_DIR)/libnurbs/internals/ccw.o                     \
68                 $(GLU_DIR)/libnurbs/internals/coveandtiler.o            \
69                 $(GLU_DIR)/libnurbs/internals/curve.o                   \
70                 $(GLU_DIR)/libnurbs/internals/curvelist.o                       \
71                 $(GLU_DIR)/libnurbs/internals/curvesub.o                        \
72                 $(GLU_DIR)/libnurbs/internals/dataTransform.o           \
73                 $(GLU_DIR)/libnurbs/internals/displaylist.o             \
74                 $(GLU_DIR)/libnurbs/internals/flist.o                   \
75                 $(GLU_DIR)/libnurbs/internals/flistsorter.o             \
76                 $(GLU_DIR)/libnurbs/internals/hull.o                    \
77                 $(GLU_DIR)/libnurbs/internals/intersect.o                       \
78                 $(GLU_DIR)/libnurbs/internals/knotvector.o              \
79                 $(GLU_DIR)/libnurbs/internals/mapdesc.o                 \
80                 $(GLU_DIR)/libnurbs/internals/mapdescv.o                        \
81                 $(GLU_DIR)/libnurbs/internals/maplist.o                 \
82                 $(GLU_DIR)/libnurbs/internals/mesher.o                  \
83                 $(GLU_DIR)/libnurbs/internals/monoTriangulationBackend.o        \
84                 $(GLU_DIR)/libnurbs/internals/monotonizer.o             \
85                 $(GLU_DIR)/libnurbs/internals/mycode.o                  \
86                 $(GLU_DIR)/libnurbs/internals/nurbsinterfac.o           \
87                 $(GLU_DIR)/libnurbs/internals/nurbstess.o                       \
88                 $(GLU_DIR)/libnurbs/internals/patch.o                   \
89                 $(GLU_DIR)/libnurbs/internals/patchlist.o                       \
90                 $(GLU_DIR)/libnurbs/internals/quilt.o                   \
91                 $(GLU_DIR)/libnurbs/internals/reader.o                  \
92                 $(GLU_DIR)/libnurbs/internals/renderhints.o             \
93                 $(GLU_DIR)/libnurbs/internals/slicer.o                  \
94                 $(GLU_DIR)/libnurbs/internals/sorter.o                  \
95                 $(GLU_DIR)/libnurbs/internals/splitarcs.o                       \
96                 $(GLU_DIR)/libnurbs/internals/subdivider.o              \
97                 $(GLU_DIR)/libnurbs/internals/tobezier.o                        \
98                 $(GLU_DIR)/libnurbs/internals/trimline.o                        \
99                 $(GLU_DIR)/libnurbs/internals/trimregion.o              \
100                 $(GLU_DIR)/libnurbs/internals/trimvertpool.o            \
101                 $(GLU_DIR)/libnurbs/internals/uarray.o                  \
102                 $(GLU_DIR)/libnurbs/internals/varray.o                  \
103                 $(GLU_DIR)/libnurbs/nurbtess/directedLine.o             \
104                 $(GLU_DIR)/libnurbs/nurbtess/gridWrap.o                 \
105                 $(GLU_DIR)/libnurbs/nurbtess/monoChain.o                        \
106                 $(GLU_DIR)/libnurbs/nurbtess/monoPolyPart.o             \
107                 $(GLU_DIR)/libnurbs/nurbtess/monoTriangulation.o                \
108                 $(GLU_DIR)/libnurbs/nurbtess/partitionX.o                       \
109                 $(GLU_DIR)/libnurbs/nurbtess/partitionY.o                       \
110                 $(GLU_DIR)/libnurbs/nurbtess/polyDBG.o                  \
111                 $(GLU_DIR)/libnurbs/nurbtess/polyUtil.o                 \
112                 $(GLU_DIR)/libnurbs/nurbtess/primitiveStream.o          \
113                 $(GLU_DIR)/libnurbs/nurbtess/quicksort.o                        \
114                 $(GLU_DIR)/libnurbs/nurbtess/rectBlock.o                        \
115                 $(GLU_DIR)/libnurbs/nurbtess/sampleComp.o                       \
116                 $(GLU_DIR)/libnurbs/nurbtess/sampleCompBot.o            \
117                 $(GLU_DIR)/libnurbs/nurbtess/sampleCompRight.o          \
118                 $(GLU_DIR)/libnurbs/nurbtess/sampleCompTop.o            \
119                 $(GLU_DIR)/libnurbs/nurbtess/sampleMonoPoly.o           \
120                 $(GLU_DIR)/libnurbs/nurbtess/sampledLine.o              \
121                 $(GLU_DIR)/libnurbs/nurbtess/searchTree.o
122 endif
123
124 INCLUDES = \
125         -I../common \
126         -I$(TOP)/src/mesa \
127         -I$(TOP)/src/mesa/array_cache \
128         -I$(TOP)/src/mesa/main \
129         -I$(TOP)/src/mesa/glapi \
130         -I$(TOP)/src/mesa/math \
131         -I$(TOP)/src/mesa/shader \
132         -I$(TOP)/src/mesa/swrast \
133         -I$(TOP)/src/mesa/swrast_setup \
134         -I$(TOP)/src/mesa/tnl \
135         -I$(TOP)/src/mesa/tnl_dd \
136         -I$(TOP)/src/mesa/x86 \
137         -I. \
138         -I- \
139         -I$(TOP)/include
140
141 DRIVER_SOURCES = \
142         GLView.cpp \
143         ../common/driverfuncs.c \
144         $(addprefix ../../, $(GLAPI_SOURCES))
145
146 ifeq ($(CPU), x86)
147         DRIVER_SOURCES += $(addprefix ../../, $(X86_API))
148 else
149 # No GL API PPC optimization yet
150 endif 
151
152 DRIVER_OBJECTS = $(DRIVER_SOURCES:.c=.o)
153 DRIVER_OBJECTS := $(DRIVER_OBJECTS:.S=.o)
154
155 OBJECTS := $(DRIVER_OBJECTS:.cpp=.o)
156
157
158 # Rules
159
160 .c.o:
161         $(CC) $(INCLUDES) $(CFLAGS) -c $< -o $@
162
163 .cpp.o:
164         $(CC) $(INCLUDES) $(CFLAGS) -c $< -o $@
165
166 .S.o:
167         $(CC) $(INCLUDES) $(CFLAGS) -c $< -o $@
168
169
170 default: depend $(TOP)/$(LIB_DIR) $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME)
171
172 # XXX FIXME: mesa.a might be libmesa.a now
173 $(MESA_MODULES):
174         cd $(TOP)/src/mesa && $(MAKE) mesa.a ;
175         mimeset -f "$@"
176
177 $(GLU_MODULES):
178         cd $(GLU_DIR) && $(MAKE) $(subst $(GLU_DIR)/,,$(GLU_MODULES)) ;
179
180 $(TOP)/$(LIB_DIR):
181         mkdir $(TOP)/$(LIB_DIR)
182
183 $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME): $(OBJECTS) $(MESA_MODULES) $(GLU_MODULES)
184         @$(MKLIB) -o $(GL_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \
185                 -major $(MESA_MAJOR) -minor $(MESA_MINOR) -patch $(MESA_TINY) \
186                 -install $(TOP)/$(LIB_DIR) $(MKLIB_OPTIONS) $(GL_LIB_DEPS) \
187                 $(OBJECTS) $(MESA_MODULES) $(GLU_MODULES)
188
189 # $(GLU_OBJECTS):
190 #       cd $(GLU_DIR) && $(MAKE) $< ;
191
192 depend: $(DRIVER_SOURCES) $(GLU_SOURCES)
193         touch depend
194         $(MKDEP) $(MKDEP_OPTIONS) $(INCLUDES) $(DRIVER_SOURCES) $(GLU_SOURCES) > /dev/null 
195
196 clean:
197         -rm -f depend depend.bak $(OBJECTS)
198
199 include depend