summaryrefslogtreecommitdiffstats
path: root/progs/egl/opengl/Makefile
blob: 04a89b1d4af7d008b37d5ad5c209bef289231824 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# progs/egl/Makefile

TOP = ../../..
include $(TOP)/configs/current


INCLUDE_DIRS = -I$(TOP)/include

HEADERS = $(TOP)/include/GLES/egl.h
LIB_DEP = $(TOP)/$(LIB_DIR)/libEGL.so

LIBS = -L$(TOP)/$(LIB_DIR) -lEGL -lGL -lm

EGLUT_DIR = $(TOP)/progs/egl/eglut

EGLUT_DEMOS = \
	eglgears \
	xegl_tri

EGLUT_X11_DEMOS := $(addsuffix _x11,$(EGLUT_DEMOS))
EGLUT_SCREEN_DEMOS := $(addsuffix _screen,$(EGLUT_DEMOS))

PROGRAMS = \
	demo1 \
	demo2 \
	demo3 \
	egltri \
	eglinfo \
	eglscreen \
	peglgears \
	xeglgears \
	xeglthreads


.c.o:
	$(CC) -c $(INCLUDE_DIRS) -I$(EGLUT_DIR) $(CFLAGS) $< -o $@



default: $(PROGRAMS) $(EGLUT_X11_DEMOS) $(EGLUT_SCREEN_DEMOS)

demo1: demo1.o $(HEADERS) $(LIB_DEP)
	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBS) $(LIBDRM_LIB)

demo2: demo2.o $(HEADERS) $(LIB_DEP)
	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBS) $(LIBDRM_LIB)

demo3: demo3.o $(HEADERS) $(LIB_DEP)
	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBS) $(LIBDRM_LIB)

egltri: egltri.o $(HEADERS) $(LIB_DEP)
	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBS) $(LIBDRM_LIB)

eglinfo: eglinfo.o $(HEADERS) $(LIB_DEP)
	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBS)

eglscreen: eglscreen.o $(HEADERS) $(LIB_DEP)
	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBS) $(LIBDRM_LIB)

peglgears: peglgears.o $(HEADERS) $(LIB_DEP)
	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBS) $(LIBDRM_LIB) -lm

xeglgears: xeglgears.o $(HEADERS) $(LIB_DEP)
	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBS) -lm $(X11_LIBS)

xeglthreads: xeglthreads.o $(HEADERS) $(LIB_DEP)
	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBS) -lpthread -lm $(X11_LIBS)

$(EGLUT_DIR)/libeglut-x11.a $(EGLUT_DIR)/libeglut-screen.a:
	@$(MAKE) -C $(EGLUT_DIR)

# define the rules for EGLUT demos
define eglut-demo-rule
$(1)_x11 $(1)_screen: $(1)_%: $(1).o $(EGLUT_DIR)/libeglut-%.a $(LIB_DEP)
endef
$(foreach demo, $(EGLUT_DEMOS), $(eval $(call eglut-demo-rule,$(demo))))

# build EGLUT demos
$(EGLUT_X11_DEMOS):
	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBS) -L$(EGLUT_DIR) -leglut-$* -lX11
$(EGLUT_SCREEN_DEMOS):
	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBS) -L$(EGLUT_DIR) -leglut-$*

clean:
	-rm -f *.o *~
	-rm -f $(PROGRAMS) $(EGLUT_X11_DEMOS) $(EGLUT_SCREEN_DEMOS)
	@$(MAKE) -C $(EGLUT_DIR) clean