updated some printfs, added comment about sched_yield
[mesa.git] / src / mesa / Makefile
1 # src/mesa/Makefile
2
3 TOP = ../..
4 include $(TOP)/configs/current
5
6 include sources
7
8
9 GL_MAJOR = 1
10 GL_MINOR = 5
11 GL_TINY = 0$(MESA_MAJOR)0$(MESA_MINOR)0$(MESA_TINY)
12
13
14 .SUFFIXES : .cpp
15
16 .c.o:
17 $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $< -o $@
18
19 .cpp.o:
20 $(CXX) -c $(INCLUDE_DIRS) $(CXXFLAGS) $< -o $@
21
22 .S.o:
23 $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $< -o $@
24
25
26 # Figure out what to make here
27 default:
28 @if [ "${DRIVER_DIRS}" = "dri" ] ; then \
29 $(MAKE) linux-solo ; \
30 elif [ "${DRIVER_DIRS}" = "osmesa" ] ; then \
31 $(MAKE) osmesa-only ; \
32 elif [ "$(DRIVER_DIRS)" = "beos" ]; then \
33 $(MAKE) beos ; \
34 elif [ "$(DRIVER_DIRS)" = "directfb" ]; then \
35 $(MAKE) directfb; \
36 else \
37 $(MAKE) stand-alone ; \
38 fi
39
40
41
42 ######################################################################
43 # BeOS driver target
44
45 beos: depend subdirs libmesa.a
46 cd drivers/beos; $(MAKE)
47
48
49 ######################################################################
50 # Linux DRI drivers
51
52 # Make archive of core object files
53 libmesa.a: $(SOLO_OBJECTS)
54 @ $(TOP)/bin/mklib -o mesa -static $(SOLO_OBJECTS);
55 @if [ "${CONFIG_NAME}" = "beos" ] ; then \
56 mimeset -f "$@" ; \
57 fi
58
59 linux-solo: depend subdirs libmesa.a
60 cd drivers/dri ; $(MAKE)
61
62
63 #####################################################################
64 # Stand-alone Mesa libGL, no built-in drivers (DirectFB)
65
66 libgl-core: $(CORE_OBJECTS)
67 @ $(TOP)/bin/mklib -o $(GL_LIB) -linker '$(CC)' \
68 -major $(MESA_MAJOR) -minor $(MESA_MINOR) -patch $(MESA_TINY) \
69 -install $(LIB_DIR) $(MKLIB_OPTIONS) $(CORE_OBJECTS) $(GL_LIB_DEPS)
70
71 directfb: depend subdirs libgl-core
72 cd drivers/directfb; $(MAKE)
73
74
75 ######################################################################
76 # Stand-alone Mesa libGL and libOSMesa
77
78 STAND_ALONE_DRIVER_SOURCES = \
79 $(COMMON_DRIVER_SOURCES) \
80 $(X11_DRIVER_SOURCES) \
81 $(GLIDE_DRIVER_SOURCES) \
82 $(SVGA_DRIVER_SOURCES) \
83 $(FBDEV_DRIVER_SOURCES)
84
85 STAND_ALONE_DRIVER_OBJECTS = $(STAND_ALONE_DRIVER_SOURCES:.c=.o)
86
87 STAND_ALONE_OBJECTS = \
88 $(CORE_OBJECTS) \
89 $(STAND_ALONE_DRIVER_OBJECTS)
90
91 # For libOSMesa16 or libOSMesa32 we link _all_ the objects into the library,
92 # not just the osmesa.o object (i.e. we don't have a libGL).
93 OSMESA16_OBJECTS = \
94 $(CORE_OBJECTS) \
95 $(COMMON_DRIVER_OBJECTS) \
96 $(OSMESA_DRIVER_OBJECTS)
97
98
99 stand-alone: depend subdirs $(LIB_DIR)/$(GL_LIB_NAME) $(LIB_DIR)/$(OSMESA_LIB_NAME)
100
101 osmesa-only: depend subdirs $(LIB_DIR)/$(OSMESA_LIB_NAME)
102
103 # Make the GL library
104 $(LIB_DIR)/$(GL_LIB_NAME): $(STAND_ALONE_OBJECTS)
105 @ $(TOP)/bin/mklib -o $(GL_LIB) -linker '$(CC)' \
106 -major $(GL_MAJOR) -minor $(GL_MINOR) -patch $(GL_TINY) \
107 -install $(LIB_DIR) \
108 $(MKLIB_OPTIONS) $(GL_LIB_DEPS) $(STAND_ALONE_OBJECTS)
109
110 # Make the OSMesa library
111 $(LIB_DIR)/$(OSMESA_LIB_NAME): $(OSMESA_DRIVER_OBJECTS) $(OSMESA16_OBJECTS)
112 @ if [ "${DRIVER_DIRS}" = "osmesa" ] ; then \
113 $(TOP)/bin/mklib -o $(OSMESA_LIB) -linker '$(CC)' \
114 -major $(MESA_MAJOR) \
115 -minor $(MESA_MINOR) -patch $(MESA_TINY) \
116 -install $(LIB_DIR) $(MKLIB_OPTIONS) \
117 $(OSMESA_LIB_DEPS) $(OSMESA16_OBJECTS) ; \
118 else \
119 $(TOP)/bin/mklib -o $(OSMESA_LIB) -linker '$(CC)' \
120 -major $(MESA_MAJOR) \
121 -minor $(MESA_MINOR) -patch $(GL_TINY) \
122 -install $(LIB_DIR) $(MKLIB_OPTIONS) \
123 $(OSMESA_LIB_DEPS) $(OSMESA_DRIVER_OBJECTS) ; \
124 fi
125
126
127 ######################################################################
128 # Generic stuff
129
130 ALL_SOURCES = \
131 $(GLAPI_SOURCES) \
132 $(SOLO_SOURCES) \
133 $(X86_SOURCES) \
134 $(COMMON_DRIVER_SOURCES)\
135 $(X11_DRIVER_SOURCES) \
136 $(OSMESA_DRIVER_SOURCES)
137
138
139 depend: $(ALL_SOURCES)
140 @ echo "running $(MKDEP)"
141 @ touch depend
142 $(MKDEP) $(MKDEP_OPTIONS) $(DEFINES) $(INCLUDE_DIRS) $(ALL_SOURCES) \
143 > /dev/null
144
145
146 subdirs:
147 @ (cd x86 ; $(MAKE))
148 @ (cd x86-64 ; $(MAKE))
149
150
151 install: default
152 @if [ "${DRIVER_DIRS}" = "dri" ] ; then \
153 cd drivers/dri ; $(MAKE) install ; \
154 fi
155
156
157 # Emacs tags
158 tags:
159 etags `find . -name \*.[ch]` $(TOP)/include/GL/*.h
160
161 clean:
162 -rm -f */*.o
163 -rm -f */*/*.o
164 -rm -f depend depend.bak libmesa.a
165 -rm -f drivers/*/*.o
166 (cd drivers/dri ; $(MAKE) clean)
167 (cd x86 ; $(MAKE) clean)
168 (cd x86-64 ; $(MAKE) clean)
169
170 include depend