Merge "coregl_fastpath: Add process of some missed state" into tizen
[platform/core/uifw/coregl.git] / Makefile
1 CC = gcc
2
3 COMPILE_DATE = "\"`git log -1 --pretty=format:%ci`\""
4
5 VENDOR_EGL_LIB_PATH = "\"/usr/lib/driver/libEGL.so\""
6 VENDOR_GL_LIB_PATH = "\"/usr/lib/driver/libGLESv2.so\""
7
8 CFLAGS = -g -O2 -fvisibility=hidden -fPIC -fno-strict-aliasing -Wall -std=c99 -D_COREGL_COMPILE_DATE=$(COMPILE_DATE)
9 CFLAGS += -I./include_KHR
10 CFLAGS += -D_COREGL_VENDOR_EGL_LIB_PATH=$(VENDOR_EGL_LIB_PATH)
11 CFLAGS += -D_COREGL_VENDOR_GL_LIB_PATH=$(VENDOR_GL_LIB_PATH)
12 CFLAGS += `pkg-config --cflags dlog`
13
14 LDFLAGS = -g -O2 -fvisibility=hidden -Wall -std=c99 -ldl -lpthread
15 LDFLAGS += `pkg-config --libs dlog`
16
17
18 SOURCES = \
19                 src/coregl.c \
20                 src/coregl_thread_pthread.c \
21                 src/coregl_trace.c \
22                 src/coregl_export.c \
23                 src/coregl_export_egl.c \
24                 src/coregl_export_gl.c \
25                 src/modules/coregl_module.c \
26                 \
27                 src/modules/tracepath/coregl_tracepath.c \
28                 src/modules/tracepath/coregl_tracepath_egl.c \
29                 src/modules/tracepath/coregl_tracepath_gl.c \
30                 \
31                 src/modules/fastpath/coregl_fastpath.c \
32                 src/modules/fastpath/coregl_fastpath_egl.c \
33                 src/modules/fastpath/coregl_fastpath_gl.c \
34                 \
35                 src/modules/appopt/coregl_appopt.c \
36                 src/modules/appopt/coregl_appopt_egl.c \
37                 src/modules/appopt/coregl_appopt_gl.c
38
39 BIN = libCOREGL.so
40
41 COREGL_MAJOR = 4
42 COREGL_MINOR = 0
43
44 EGL_MAJOR = 1
45 EGL_MINOR = 4
46
47 GLESv1_MAJOR = 1
48 GLESv1_MINOR = 1
49
50 GLESv2_MAJOR = 2
51 GLESv2_MINOR = 0
52
53 WRAP_EGL = libEGL.so
54 WRAP_GLES1 = libGLESv1_CM.so
55 WRAP_GLES2 = libGLESv2.so
56
57 OUTPUT_BIN = $(BIN).$(COREGL_MAJOR).$(COREGL_MINOR)
58 OUTPUT_WRAP_EGL = $(WRAP_EGL).$(EGL_MAJOR).$(EGL_MINOR)
59 OUTPUT_WRAP_GLES1 = $(WRAP_GLES1).$(GLESv1_MAJOR).$(GLESv1_MINOR)
60 OUTPUT_WRAP_GLES2 = $(WRAP_GLES2).$(GLESv2_MAJOR).$(GLESv2_MINOR)
61
62 OBJECTS = $(SOURCES:.c=.o)
63
64 all : $(OUTPUT_BIN) $(OUTPUT_WRAP_EGL) $(OUTPUT_WRAP_GLES1) $(OUTPUT_WRAP_GLES2)
65         cp src/headers/egl.h include/EGL/def_egl.h
66         cp src/headers/gl.h include/GLES3/def_gl.h
67         cp src/headers/sym_egl.h include/EGL/sym_egl.h
68         cp src/headers/sym_gl1.h include/GLES3/sym_gl1.h
69         cp src/headers/sym_gl2.h include/GLES3/sym_gl2.h
70
71 $(OUTPUT_BIN) : $(OBJECTS)
72         @mkdir -p lib
73         $(CC) -shared -o lib/$(OUTPUT_BIN) $(OBJECTS) $(LDFLAGS)
74         ln -sf $(OUTPUT_BIN) lib/$(BIN).$(COREGL_MAJOR)
75         ln -sf $(BIN).$(COREGL_MAJOR) lib/$(BIN)
76
77 $(OUTPUT_WRAP_EGL) :
78         @mkdir -p lib
79         $(CC) -shared -o lib/$(OUTPUT_WRAP_EGL) src/wraps/coregl_egl.c $(CFLAGS) $(LDFLAGS)
80         ln -sf $(OUTPUT_WRAP_EGL) lib/$(WRAP_EGL).$(EGL_MAJOR)
81         ln -sf $(WRAP_EGL).$(EGL_MAJOR) lib/$(WRAP_EGL)
82
83 $(OUTPUT_WRAP_GLES1) :
84         @mkdir -p lib
85         $(CC) -shared -o lib/$(OUTPUT_WRAP_GLES1) src/wraps/coregl_gl1.c src/wraps/coregl_gl_common.c $(CFLAGS) $(LDFLAGS)
86         ln -sf $(OUTPUT_WRAP_GLES1) lib/$(WRAP_GLES1).$(GLESv1_MAJOR)
87         ln -sf $(WRAP_GLES1).$(GLESv1_MAJOR) lib/$(WRAP_GLES1)
88
89 $(OUTPUT_WRAP_GLES2) :
90         @mkdir -p lib
91         $(CC) -shared -o lib/$(OUTPUT_WRAP_GLES2) src/wraps/coregl_gl2.c src/wraps/coregl_gl_common.c $(CFLAGS) $(LDFLAGS)
92         ln -sf $(OUTPUT_WRAP_GLES2) lib/$(WRAP_GLES2).$(GLESv2_MAJOR)
93         ln -sf $(WRAP_GLES2).$(GLESv2_MAJOR) lib/$(WRAP_GLES2)
94
95 %.o : %.c
96         $(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@
97
98 clean :
99         rm -f $(OBJECTS) lib/*
100