Makefile revision ea05299ce54ea0463626277907cab8e849884740
1TOP = ../../../..
2include $(TOP)/configs/current
3
4common_INCLUDES = \
5	-I. \
6	-I$(TOP)/src/gallium/include \
7	-I$(TOP)/src/gallium/auxiliary \
8	-I$(TOP)/src/gallium/drivers \
9	-I$(TOP)/src/egl/main \
10	-I$(TOP)/include
11
12common_SOURCES = $(wildcard common/*.c)
13common_OBJECTS = $(common_SOURCES:.c=.o)
14
15
16x11_INCLUDES = \
17	-I$(TOP)/src/gallium/drivers \
18	-I$(TOP)/src/glx \
19	-I$(TOP)/src/mapi \
20	-I$(TOP)/src/mesa \
21	$(X11_CFLAGS) \
22	$(shell pkg-config --cflags-only-I libdrm)
23
24x11_SOURCES = $(wildcard x11/*.c) \
25	      $(TOP)/src/glx/dri2.c
26x11_OBJECTS = $(x11_SOURCES:.c=.o)
27
28
29kms_INCLUDES = $(shell pkg-config --cflags-only-I libdrm)
30kms_SOURCES = $(wildcard kms/*.c)
31kms_OBJECTS = $(kms_SOURCES:.c=.o)
32
33
34fbdev_INCLUDES = -I$(TOP)/src/gallium/winsys/sw -I$(TOP)/src/gallium/drivers
35fbdev_SOURCES = $(wildcard fbdev/*.c)
36fbdev_OBJECTS = $(fbdev_SOURCES:.c=.o)
37
38
39ALL_INCLUDES = $(common_INCLUDES) $(x11_INCLUDES) $(kms_INCLUDES) $(fbdev_INCLUDES)
40ALL_SOURCES = $(common_SOURCES) $(x11_SOURCES) $(kms_SOURCES) $(fbdev_SOURCES)
41
42EGL_OBJECTS = $(common_OBJECTS)
43EGL_CPPFLAGS = $(common_INCLUDES)
44
45# add backends
46ifneq ($(findstring x11, $(EGL_PLATFORMS)),)
47EGL_OBJECTS += $(x11_OBJECTS)
48EGL_CPPFLAGS += -DHAVE_X11_BACKEND
49endif
50ifneq ($(findstring kms, $(EGL_PLATFORMS)),)
51EGL_OBJECTS += $(kms_OBJECTS)
52EGL_CPPFLAGS += -DHAVE_KMS_BACKEND
53endif
54ifneq ($(findstring fbdev, $(EGL_PLATFORMS)),)
55EGL_OBJECTS += $(fbdev_OBJECTS)
56EGL_CPPFLAGS += -DHAVE_FBDEV_BACKEND
57endif
58
59##### TARGETS #####
60
61default: depend libegl.a
62
63libegl.a: $(EGL_OBJECTS) Makefile
64	$(MKLIB) -o egl -static $(EGL_OBJECTS)
65
66depend: 
67	rm -f depend
68	touch depend
69	$(MKDEP) $(MKDEP_OPTIONS) $(ALL_INCLUDES) $(ALL_SOURCES) 2> /dev/null
70
71clean:
72	rm -f libegl.a
73	rm -f $(EGL_OBJECTS)
74	rm -f depend depend.bak
75
76# Dummy target
77install:
78	@echo -n ""
79
80##### RULES #####
81
82define egl-cc
83$(CC) -c $(common_INCLUDES) $($(1)_INCLUDES) $(DEFINES) $(CFLAGS) $< -o $@
84endef
85
86$(common_OBJECTS): %.o: %.c
87	$(CC) -c $(EGL_CPPFLAGS) $(DEFINES) $(CFLAGS) $< -o $@
88
89$(x11_OBJECTS): %.o: %.c
90	$(call egl-cc,x11)
91
92$(kms_OBJECTS): %.o: %.c
93	$(call egl-cc,kms)
94
95$(fbdev_OBJECTS): %.o: %.c
96	$(call egl-cc,fbdev)
97
98sinclude depend
99