osmesa: Allow building standalone in all three channel widths
[mesa.git] / src / mesa / drivers / osmesa / Makefile
1 # src/mesa/drivers/osmesa/Makefile for libOSMesa.so
2
3 # Note that we may generate libOSMesa.so or libOSMesa16.so or libOSMesa32.so
4 # with this Makefile
5
6
7 TOP = ../../../..
8
9 include $(TOP)/configs/current
10
11
12
13 SOURCES = osmesa.c
14
15 OBJECTS = $(SOURCES:.c=.o)
16
17 INCLUDE_DIRS = \
18 -I$(TOP)/include \
19 -I$(TOP)/src/mesa \
20 -I$(TOP)/src/mesa/main
21
22 # Standalone osmesa needs to be linked with core Mesa APIs
23 ifeq ($(DRIVER_DIRS), osmesa)
24 CORE_MESA = $(TOP)/src/mesa/libmesa.a $(TOP)/src/mesa/libglapi.a
25 else
26 CORE_MESA =
27 endif
28
29
30 .c.o:
31 $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $< -o $@
32
33
34 default: $(TOP)/$(LIB_DIR)/$(OSMESA_LIB_NAME)
35
36
37 # libOSMesa can be used in conjuction with libGL or with all other Mesa
38 # sources. We can also build libOSMesa16/libOSMesa32 by setting
39 # -DCHAN_BITS=16/32.
40 $(TOP)/$(LIB_DIR)/$(OSMESA_LIB_NAME): $(OBJECTS) $(CORE_MESA)
41 $(MKLIB) -o $(OSMESA_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \
42 -major $(MESA_MAJOR) -minor $(MESA_MINOR) -patch $(MESA_TINY) \
43 -install $(TOP)/$(LIB_DIR) $(MKLIB_OPTIONS) \
44 -id $(INSTALL_LIB_DIR)/lib$(OSMESA_LIB).$(MESA_MAJOR).dylib \
45 $(OSMESA_LIB_DEPS) $(OBJECTS) $(CORE_MESA)
46
47
48
49 clean:
50 -rm -f *.o *~
51
52
53 # XXX todo install rule?