Merge commit 'origin/master' into gallium-0.2
[mesa.git] / progs / demos / Makefile
1 # progs/demos/Makefile
2
3 TOP = ../..
4 include $(TOP)/configs/current
5
6 INCDIR = $(TOP)/include
7
8 OSMESA_LIBS = -L$(TOP)/$(LIB_DIR) -lglut -lOSMesa -lGLU -lGL $(APP_LIB_DEPS)
9
10 OSMESA16_LIBS = -L$(TOP)/$(LIB_DIR) -lglut -lOSMesa16 -lGLU -lGL $(APP_LIB_DEPS)
11
12 OSMESA32_LIBS = -L$(TOP)/$(LIB_DIR) -lglut -lOSMesa32 -lGLU -lGL $(APP_LIB_DEPS)
13
14 LIB_DEP = $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME) $(TOP)/$(LIB_DIR)/$(GLU_LIB_NAME) \
15 $(TOP)/$(LIB_DIR)/$(GLUT_LIB_NAME)
16
17 LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) \
18 $(APP_LIB_DEPS)
19
20 PROGS = \
21 arbfplight \
22 arbfslight \
23 arbocclude \
24 bounce \
25 clearspd \
26 copypix \
27 cubemap \
28 drawpix \
29 engine \
30 fbo_firecube \
31 fire \
32 fogcoord \
33 fplight \
34 fslight \
35 gamma \
36 gearbox \
37 gears \
38 geartrain \
39 glinfo \
40 gloss \
41 glslnoise \
42 gltestperf \
43 glutfx \
44 isosurf \
45 ipers \
46 lodbias \
47 morph3d \
48 multiarb \
49 paltex \
50 pointblast \
51 rain \
52 ray \
53 readpix \
54 reflect \
55 renormal \
56 shadowtex \
57 singlebuffer \
58 streaming_rect \
59 spectex \
60 spriteblast \
61 stex3d \
62 teapot \
63 terrain \
64 tessdemo \
65 texcyl \
66 texdown \
67 texenv \
68 texobj \
69 trispd \
70 tunnel \
71 tunnel2 \
72 vao_demo \
73 winpos
74
75
76 ##### RULES #####
77
78 .SUFFIXES:
79 .SUFFIXES: .c
80 .SUFFIXES: .cxx
81
82 # make executable from .c file:
83 .c: $(LIB_DEP) readtex.o
84 $(APP_CC) -I$(INCDIR) $(CFLAGS) $(LDFLAGS) $< readtex.o $(LIBS) -o $@
85
86
87 ##### TARGETS #####
88
89 default: $(PROGS)
90
91 $(PROGS): readtex.o
92
93 readtex.c: $(TOP)/progs/util/readtex.c
94 cp $< .
95
96 readtex.h: $(TOP)/progs/util/readtex.h
97 cp $< .
98
99 readtex.o: readtex.c readtex.h
100 $(APP_CC) -c -I$(INCDIR) $(CFLAGS) readtex.c
101
102
103 showbuffer.c: $(TOP)/progs/util/showbuffer.c
104 cp $< .
105
106 showbuffer.h: $(TOP)/progs/util/showbuffer.h
107 cp $< .
108
109 showbuffer.o: showbuffer.c showbuffer.h
110 $(APP_CC) -c -I$(INCDIR) $(CFLAGS) showbuffer.c
111
112
113 trackball.c: $(TOP)/progs/util/trackball.c
114 cp $< .
115
116 trackball.h: $(TOP)/progs/util/trackball.h
117 cp $< .
118
119 trackball.o: trackball.c trackball.h
120 $(APP_CC) -c -I$(INCDIR) $(CFLAGS) trackball.c
121
122
123 extfuncs.h: $(TOP)/progs/util/extfuncs.h
124 cp $< .
125
126
127 reflect: reflect.o showbuffer.o readtex.o
128 $(APP_CC) $(CFLAGS) $(LDFLAGS) reflect.o showbuffer.o readtex.o $(LIBS) -o $@
129
130 reflect.o: reflect.c showbuffer.h
131 $(APP_CC) -c -I$(INCDIR) $(CFLAGS) reflect.c
132
133
134 shadowtex: shadowtex.o showbuffer.o
135 $(APP_CC) $(CFLAGS) $(LDFLAGS) shadowtex.o showbuffer.o $(LIBS) -o $@
136
137 shadowtex.o: shadowtex.c showbuffer.h
138 $(APP_CC) -c -I$(INCDIR) $(CFLAGS) shadowtex.c
139
140
141 gloss: gloss.o trackball.o readtex.o
142 $(APP_CC) $(CFLAGS) $(LDFLAGS) gloss.o trackball.o readtex.o $(LIBS) -o $@
143
144 gloss.o: gloss.c trackball.h
145 $(APP_CC) -c -I$(INCDIR) $(CFLAGS) gloss.c
146
147
148 engine: engine.o trackball.o readtex.o
149 $(APP_CC) $(CFLAGS) $(LDFLAGS) engine.o trackball.o readtex.o $(LIBS) -o $@
150
151 engine.o: engine.c trackball.h
152 $(APP_CC) -c -I$(INCDIR) $(CFLAGS) engine.c
153
154
155 fslight: fslight.o
156 $(APP_CC) $(CFLAGS) $(LDFLAGS) fslight.o $(LIBS) -o $@
157
158 fslight.o: fslight.c extfuncs.h
159 $(APP_CC) -c -I$(INCDIR) $(CFLAGS) fslight.c
160
161 rain: particles.o rain.o readtex.o
162 $(CXX) $(CXXFLAGS) $(LDFLAGS) $^ $(LIBS) -o $@
163
164 rain.o: rain.cxx readtex.h
165 $(CXX) -c -I$(INCDIR) $(CXXFLAGS) $<
166
167 particles.o: particles.cxx
168 $(CXX) -c -I$(INCDIR) $(CXXFLAGS) $<
169
170
171 viewdds: viewdds.c
172 $(CC) -I$(INCDIR) $(CFLAGS) $< readtex.o $(LIBS) -L. -lgltc -o $@
173
174
175 clean:
176 -rm -f $(PROGS)
177 -rm -f *.o *~
178 -rm -f readtex.[ch] showbuffer.[ch]