depend is not a .PHONY target
[mesa.git] / src / mesa / drivers / dri / Makefile.template
1 # -*-makefile-*-
2
3 MESA_MODULES = $(TOP)/src/mesa/libmesa.a
4
5 COMMON_SOURCES = \
6 ../../common/driverfuncs.c \
7 ../common/utils.c \
8 ../common/texmem.c \
9 ../common/vblank.c \
10 ../common/dri_util.c \
11 ../common/xmlconfig.c \
12 ../common/drirenderbuffer.c
13
14 ifeq ($(WINDOW_SYSTEM),dri)
15 WINOBJ=
16 WINLIB=
17 INCLUDES = $(SHARED_INCLUDES) $(EXPAT_INCLUDES) \
18 `pkg-config --cflags libdrm`
19
20 OBJECTS = $(C_SOURCES:.c=.o) \
21 $(ASM_SOURCES:.S=.o)
22
23 else
24 WINOBJ=
25 WINLIB=-L$(MESA)/src/glx/mini
26 MINIGLX_INCLUDES = -I$(TOP)/src/glx/mini
27 INCLUDES = $(MINIGLX_INCLUDES) \
28 `pkg-config --cflags libdrm` \
29 $(SHARED_INCLUDES)
30
31 OBJECTS = $(C_SOURCES:.c=.o) \
32 $(MINIGLX_SOURCES:.c=.o) \
33 $(ASM_SOURCES:.S=.o)
34 endif
35
36
37 ### Include directories
38 SHARED_INCLUDES = \
39 -I. \
40 -I$(TOP)/src/mesa/drivers/dri/common \
41 -Iserver \
42 `pkg-config --cflags libdrm` \
43 -I$(TOP)/include \
44 -I$(TOP)/include/GL/internal \
45 -I$(TOP)/src/mesa \
46 -I$(TOP)/src/mesa/main \
47 -I$(TOP)/src/mesa/glapi \
48 -I$(TOP)/src/mesa/math \
49 -I$(TOP)/src/mesa/transform \
50 -I$(TOP)/src/mesa/shader \
51 -I$(TOP)/src/mesa/swrast \
52 -I$(TOP)/src/mesa/swrast_setup \
53 -I$(TOP)/src/egl/main \
54 -I$(TOP)/src/egl/drivers/dri
55
56 ##### RULES #####
57
58 .c.o:
59 $(CC) -c $(INCLUDES) $(CFLAGS) $(DRIVER_DEFINES) $< -o $@
60
61 .S.o:
62 $(CC) -c $(INCLUDES) $(CFLAGS) $(DRIVER_DEFINES) $< -o $@
63
64
65 ##### TARGETS #####
66
67 default: depend symlinks $(LIBNAME) $(LIB_DIR)/$(LIBNAME)
68
69
70 #$(LIB_DIR)/$(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(WINOBJ) Makefile
71 # @echo BUILDING FOR: $(WINDOW_SYSTEM)
72 # $(TOP)/bin/mklib -o $(LIBNAME) -noprefix -install $(LIB_DIR) \
73 # $(WINLIB) $(LIB_DEPS) $(WINOBJ) $(MESA_MODULES) $(OBJECTS)
74
75 $(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(WINOBJ) Makefile $(TOP)/src/mesa/drivers/dri/Makefile.template
76 $(TOP)/bin/mklib -noprefix -o $@ \
77 $(OBJECTS) $(MESA_MODULES) $(WINOBJ) $(DRI_LIB_DEPS)
78
79
80 $(LIB_DIR)/$(LIBNAME): $(LIBNAME)
81 install $(LIBNAME) $(LIB_DIR)
82
83
84
85 # Run 'make depend' to update the dependencies if you change
86 # what's included by any source file.
87 depend: $(C_SOURCES) $(ASM_SOURCES) $(SYMLINKS)
88 touch depend
89 $(MKDEP) $(MKDEP_OPTIONS) $(DRIVER_DEFINES) $(INCLUDES) $(C_SOURCES) \
90 $(ASM_SOURCES) > /dev/null
91
92
93 # Emacs tags
94 tags:
95 etags `find . -name \*.[ch]` `find ../include`
96
97
98 # Remove .o and backup files
99 clean:
100 -rm -f *.o */*.o *~ *.so *~ server/*.o $(SYMLINKS)
101 -rm -f depend depend.bak
102
103 install: $(LIBNAME)
104 install $(LIBNAME) /usr/X11R6/lib/modules/dri/$(LIBNAME)
105
106 include depend