st/egl: One driver per hardware.
[mesa.git] / src / egl / main / Makefile
1 # src/egl/main/Makefile
2
3 TOP = ../../..
4 include $(TOP)/configs/current
5
6
7 EGL_MAJOR = 1
8 EGL_MINOR = 0
9
10 INCLUDE_DIRS = -I$(TOP)/include
11
12 HEADERS = \
13 eglcompiler.h \
14 eglconfig.h \
15 eglconfigutil.h \
16 eglcontext.h \
17 eglcurrent.h \
18 egldefines.h \
19 egldisplay.h \
20 egldriver.h \
21 eglglobals.h \
22 eglimage.h \
23 egllog.h \
24 eglmisc.h \
25 eglmode.h \
26 eglmutex.h \
27 eglscreen.h \
28 eglstring.h \
29 eglsurface.h
30
31 SOURCES = \
32 eglapi.c \
33 eglconfig.c \
34 eglconfigutil.c \
35 eglcontext.c \
36 eglcurrent.c \
37 egldisplay.c \
38 egldriver.c \
39 eglglobals.c \
40 eglimage.c \
41 egllog.c \
42 eglmisc.c \
43 eglmode.c \
44 eglscreen.c \
45 eglstring.c \
46 eglsurface.c
47
48 OBJECTS = $(SOURCES:.c=.o)
49
50
51 # use dl*() to load drivers
52 LOCAL_CFLAGS = -D_EGL_OS_UNIX=1
53
54 # translate --with-egl-platforms to _EGLPlatformType
55 EGL_NATIVE_PLATFORM=_EGL_INVALID_PLATFORM
56 ifeq ($(firstword $(EGL_PLATFORMS)),x11)
57 EGL_NATIVE_PLATFORM=_EGL_PLATFORM_X11
58 endif
59 ifeq ($(firstword $(EGL_PLATFORMS)),kms)
60 EGL_NATIVE_PLATFORM=_EGL_PLATFORM_DRM
61 endif
62 ifeq ($(firstword $(EGL_PLATFORMS)),fbdev)
63 EGL_NATIVE_PLATFORM=_EGL_PLATFORM_FBDEV
64 endif
65
66 LOCAL_CFLAGS += \
67 -D_EGL_NATIVE_PLATFORM=$(EGL_NATIVE_PLATFORM) \
68 -D_EGL_DRIVER_SEARCH_DIR=\"$(EGL_DRIVER_INSTALL_DIR)\"
69
70 .c.o:
71 $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $(LOCAL_CFLAGS) $< -o $@
72
73
74
75 default: depend library
76
77
78 # EGL Library
79 library: $(TOP)/$(LIB_DIR)/$(EGL_LIB_NAME)
80
81 $(TOP)/$(LIB_DIR)/$(EGL_LIB_NAME): $(OBJECTS)
82 $(MKLIB) -o $(EGL_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \
83 -major $(EGL_MAJOR) -minor $(EGL_MINOR) \
84 -install $(TOP)/$(LIB_DIR) $(MKLIB_OPTIONS) \
85 $(EGL_LIB_DEPS) $(OBJECTS)
86
87 install-headers:
88 $(INSTALL) -d $(DESTDIR)$(INSTALL_INC_DIR)/KHR
89 $(INSTALL) -m 644 $(TOP)/include/KHR/*.h \
90 $(DESTDIR)$(INSTALL_INC_DIR)/KHR
91 $(INSTALL) -d $(DESTDIR)$(INSTALL_INC_DIR)/EGL
92 $(INSTALL) -m 644 $(TOP)/include/EGL/*.h \
93 $(DESTDIR)$(INSTALL_INC_DIR)/EGL
94
95 PKG_CONFIG_DIR = $(INSTALL_LIB_DIR)/pkgconfig
96
97 gl_pcedit = sed \
98 -e 's,@INSTALL_DIR@,$(INSTALL_DIR),' \
99 -e 's,@INSTALL_LIB_DIR@,$(INSTALL_LIB_DIR),' \
100 -e 's,@INSTALL_INC_DIR@,$(INSTALL_INC_DIR),' \
101 -e 's,@VERSION@,$(MESA_MAJOR).$(MESA_MINOR).$(MESA_TINY),' \
102 -e 's,@EGL_PC_REQ_PRIV@,$(EGL_PC_REQ_PRIV),' \
103 -e 's,@EGL_PC_LIB_PRIV@,$(EGL_PC_LIB_PRIV),' \
104 -e 's,@EGL_PC_CFLAGS@,$(EGL_PC_CFLAGS),' \
105 -e 's,@EGL_LIB@,$(EGL_LIB),'
106
107 egl.pc: egl.pc.in
108 $(gl_pcedit) $< > $@
109
110 install: default install-headers egl.pc
111 $(INSTALL) -d $(DESTDIR)$(INSTALL_LIB_DIR)
112 $(MINSTALL) $(TOP)/$(LIB_DIR)/$(EGL_LIB_GLOB) \
113 $(DESTDIR)$(INSTALL_LIB_DIR)
114 $(INSTALL) -d $(DESTDIR)$(PKG_CONFIG_DIR)
115 $(INSTALL) -m 644 egl.pc $(DESTDIR)$(PKG_CONFIG_DIR)
116
117 clean:
118 -rm -f *.o
119 -rm -f depend depend.bak
120
121
122 depend: $(SOURCES) $(HEADERS)
123 @ echo "running $(MKDEP)"
124 @ rm -f depend
125 @ touch depend
126 $(MKDEP) $(MKDEP_OPTIONS) $(DEFINES) $(INCLUDE_DIRS) \
127 $(SOURCES) $(HEADERS) > /dev/null 2>/dev/null
128
129
130 -include depend
131 # DO NOT DELETE