Add EGL/GLES2 wrapper library for build
[platform/core/uifw/coregl.git] / Makefile
1 CC = gcc
2
3 CFLAGS = -g -O2 -fvisibility=hidden -fPIC -Wall -std=c99
4
5
6 LDFLAGS = -g -O2 -fvisibility=hidden -Wall -std=c99 -ldl -lpthread
7
8
9 SOURCES = \
10                 src/coregl.c \
11                 src/coregl_thread_pthread.c \
12                 src/coregl_trace.c \
13                 src/coregl_export.c \
14                 src/coregl_export_egl.c \
15                 src/coregl_export_gl.c \
16                 src/modules/coregl_module.c \
17                 \
18                 src/modules/tracepath/coregl_tracepath.c \
19                 src/modules/tracepath/coregl_tracepath_egl.c \
20                 src/modules/tracepath/coregl_tracepath_gl.c \
21                 \
22                 src/modules/fastpath/coregl_fastpath.c \
23                 src/modules/fastpath/coregl_fastpath_egl.c \
24                 src/modules/fastpath/coregl_fastpath_gl.c \
25                 \
26                 src/modules/appopt/coregl_appopt.c \
27                 src/modules/appopt/coregl_appopt_egl.c \
28                 src/modules/appopt/coregl_appopt_gl.c
29
30 BIN = libCOREGL.so
31
32 MAJOR = 3
33 MINOR = 0
34
35 WRAP_EGL = libEGL.so
36 WRAP_GLES2 = libGLESv2.so
37
38 OUTPUT_BIN = $(BIN).$(MAJOR).$(MINOR)
39 OUTPUT_WRAP_EGL = $(WRAP_EGL).$(MAJOR).$(MINOR)
40 OUTPUT_WRAP_GLES2 = $(WRAP_GLES2).$(MAJOR).$(MINOR)
41
42 OBJECTS = $(SOURCES:.c=.o)
43
44 all : $(OUTPUT_BIN) $(OUTPUT_WRAP_EGL) $(OUTPUT_WRAP_GLES2)
45         cp src/headers/egl.h include/EGL/def_egl.h
46         cp src/headers/gl.h include/GLES2/def_gl.h
47         cp src/headers/sym_egl.h include/EGL/sym_egl.h
48         cp src/headers/sym_gl.h include/GLES2/sym_gl.h
49
50 $(OUTPUT_BIN) : $(OBJECTS)
51         @mkdir -p lib
52         $(CC) -shared -o lib/$(OUTPUT_BIN) $(OBJECTS) $(LDFLAGS)
53         ln -sf $(OUTPUT_BIN) lib/$(BIN).$(MAJOR)
54         ln -sf $(BIN).$(MAJOR) lib/$(BIN)
55
56 $(OUTPUT_WRAP_EGL) :
57         @mkdir -p lib
58         $(CC) -shared -o lib/$(OUTPUT_WRAP_EGL) src/wraps/coregl_egl.c $(CFLAGS) $(LDFLAGS)
59         ln -sf $(OUTPUT_WRAP_EGL) lib/$(WRAP_EGL).$(MAJOR)
60         ln -sf $(WRAP_EGL).$(MAJOR) lib/$(WRAP_EGL)
61
62 $(OUTPUT_WRAP_GLES2) :
63         @mkdir -p lib
64         $(CC) -shared -o lib/$(OUTPUT_WRAP_GLES2) src/wraps/coregl_gl.c $(CFLAGS) $(LDFLAGS)
65         ln -sf $(OUTPUT_WRAP_GLES2) lib/$(WRAP_GLES2).$(MAJOR)
66         ln -sf $(WRAP_GLES2).$(MAJOR) lib/$(WRAP_GLES2)
67
68 %.o : %.c
69         $(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@
70
71 clean :
72         rm -f $(OBJECTS) lib/*
73