Tizen 2.0 Release
[profile/ivi/osmesa.git] / src / egl / drivers / Makefile.template
1 # src/egl/drivers/Makefile.template
2 #
3 # Drivers should define
4 #
5 # EGL_BUILTIN, the driver is built-in or external
6 # EGL_DRIVER, the driver name
7 # EGL_SOURCES, the driver sources
8 # EGL_INCLUDES, the include pathes
9 # EGL_CFLAGS, additional CFLAGS
10 # EGL_LIBS, additional LIBS
11 #
12 # before including this template.
13 #
14
15
16 EGL_DRIVER_PATH = $(TOP)/$(LIB_DIR)/egl/$(EGL_DRIVER).so
17 EGL_OBJECTS = $(EGL_SOURCES:.c=.o)
18
19 # built-in or external
20 ifeq ($(EGL_BUILTIN),true)
21 EGL_TARGET = lib$(EGL_DRIVER).a
22 EGL_INSTALL =
23 else
24 EGL_TARGET = $(EGL_DRIVER_PATH)
25 EGL_INSTALL = install-so
26 endif
27
28 default: depend $(EGL_TARGET)
29
30 $(EGL_DRIVER_PATH): $(EGL_DRIVER).so
31         @$(INSTALL) -d $(TOP)/$(LIB_DIR)/egl
32         $(INSTALL) $< $(TOP)/$(LIB_DIR)/egl
33
34 $(EGL_DRIVER).so: $(EGL_OBJECTS) Makefile $(TOP)/src/egl/drivers/Makefile.template
35         @$(MKLIB) -o $(EGL_DRIVER).so -noprefix \
36                 -linker '$(CC)' -ldflags '-L$(TOP)/$(LIB_DIR) $(LDFLAGS)' \
37                 $(MKLIB_OPTIONS) \
38                 $(EGL_OBJECTS) $(EGL_LIBS) -l$(EGL_LIB)
39
40 lib$(EGL_DRIVER).a: $(EGL_OBJECTS) Makefile $(TOP)/src/egl/drivers/Makefile.template
41         @$(MKLIB) -o $(EGL_DRIVER) -static $(EGL_OBJECTS)
42
43 .c.o:
44         $(CC) -c $(EGL_INCLUDES) $(CFLAGS) $(EGL_CFLAGS) $< -o $@
45
46 install-so: $(EGL_DRIVER_PATH)
47         $(INSTALL) -d $(DESTDIR)$(EGL_DRIVER_INSTALL_DIR)
48         $(MINSTALL) $(EGL_DRIVER_PATH) $(DESTDIR)$(EGL_DRIVER_INSTALL_DIR)
49
50 install: $(EGL_INSTALL)
51
52 clean:
53         rm -f $(EGL_DRIVER).so
54         rm -f lib$(EGL_DRIVER).a
55         rm -f $(EGL_OBJECTS)
56         rm -f depend depend.bak
57
58 depend: $(EGL_SOURCES)
59         @ echo "running $(MKDEP)"
60         @ rm -f depend
61         @ touch depend
62         $(MKDEP) $(MKDEP_OPTIONS) $(EGL_INCLUDES) $(EGL_SOURCES) \
63                 >/dev/null 2>/dev/null
64
65 sinclude depend
66 # DO NOT DELETE