mesa: OSMesa Makefile fixes (use LIB_DIR)
[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 CORE_MESA = $(TOP)/src/mesa/libmesa.a $(TOP)/src/mesa/libglapi.a
23
24
25 .PHONY: osmesa8
26 .PHONY: osmesa16
27
28
29 .c.o:
30 $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $< -o $@
31
32
33 default: $(TOP)/$(LIB_DIR)/$(OSMESA_LIB_NAME)
34 @ if [ "${DRIVER_DIRS}" = "osmesa" ] ; then \
35 $(MAKE) osmesa16 ; \
36 else \
37 $(MAKE) osmesa8 ; \
38 fi
39
40
41
42
43 # The normal libOSMesa is used in conjuction with libGL
44 osmesa8: $(TOP)/$(LIB_DIR)/$(OSMESA_LIB_NAME)
45
46 $(TOP)/$(LIB_DIR)/$(OSMESA_LIB_NAME): $(OBJECTS)
47 $(MKLIB) -o $(OSMESA_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \
48 -major $(MESA_MAJOR) -minor $(MESA_MINOR) -patch $(MESA_TINY) \
49 -install $(TOP)/$(LIB_DIR) $(MKLIB_OPTIONS) \
50 -id $(INSTALL_LIB_DIR)/lib$(OSMESA_LIB).$(MESA_MAJOR).dylib \
51 $(OSMESA_LIB_DEPS) $(OBJECTS)
52
53
54
55
56 # The libOSMesa16/libOSMesa32 libraries do not use libGL but rather are built
57 # with all the other Mesa sources (compiled with -DCHAN_BITS=16/32
58 osmesa16: $(OBJECTS) $(CORE_MESA)
59 $(MKLIB) -o $(OSMESA_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \
60 -major $(MESA_MAJOR) -minor $(MESA_MINOR) -patch $(MESA_TINY) \
61 -install $(TOP)/$(LIB_DIR) $(MKLIB_OPTIONS) \
62 -id $(INSTALL_LIB_DIR)/lib$(OSMESA_LIB).$(MESA_MAJOR).dylib \
63 $(OSMESA_LIB_DEPS) $(OBJECTS) $(CORE_MESA)
64
65
66
67 clean:
68 -rm -f *.o *~
69
70
71 # XXX todo install rule?