1include ../../Makefile.in.$(shell uname)
2
3PLATFORM=X11
4
5PLATFORMSOURCES=../../src/platform/$(PLATFORM)/agg_platform_support.o
6
7CXXFLAGS= $(AGGCXXFLAGS) -I../../include \
8-L../../src \
9$(PIXFMT)
10
11CXXFREETYPEFLAGS= $(AGGCXXFLAGS) -Wall \
12-I../../include \
13-I../../font_freetype \
14-I/usr/local/include/freetype2 \
15-L../../src \
16$(PIXFMT)
17
18LIBS = $(AGGLIBS) -lm -lX11
19
20base:
21	cd ../../src/; make
22	make aa_demo
23	make aa_test
24	make alpha_gradient
25	make alpha_mask
26	make alpha_mask2
27	make alpha_mask3
28	make bezier_div
29	make bspline
30	make circles
31	make component_rendering
32	make conv_contour
33	make conv_dash_marker
34	make conv_stroke
35	make flash_rasterizer
36	make flash_rasterizer2
37	make gamma_correction
38	make gamma_ctrl
39	make gamma_tuner
40	make gouraud
41	make gouraud_mesh
42	make gradient_focal
43	make gradients
44	make graph_test
45	make idea
46	make lion
47	make lion_lens
48	make lion_outline
49	make multi_clip
50	make pattern_fill
51	make perspective
52	make polymorphic_renderer
53	make raster_text
54	make rasterizers
55	make rasterizers2
56	make rounded_rect
57	make scanline_boolean
58	make scanline_boolean2
59	make simple_blur
60	make trans_polar
61	make image_alpha
62	make image_filters
63	make image_filters2
64	make image_fltr_graph
65	make image_perspective
66	make image_resample
67	make image_transforms
68	make image1
69	make distortions
70	make pattern_perspective
71	make compositing
72	make compositing2
73	make line_patterns
74	make line_patterns_clip
75	make mol_view
76	make blur
77	make rasterizer_compound
78	make blend_color
79
80freetype:
81	make freetype_test
82	make trans_curve1_ft
83	make trans_curve2_ft
84
85gpc:
86	make gpc_test
87
88all:
89	make base
90	make freetype
91	make gpc
92	make svg_test
93
94aa_demo: ../aa_demo.o $(PLATFORMSOURCES)
95	$(CXX) $(CXXFLAGS) $^ -o aa_demo $(LIBS)
96
97aa_test: ../aa_test.o $(PLATFORMSOURCES)
98	$(CXX) $(CXXFLAGS) $^ -o aa_test $(LIBS)
99
100alpha_gradient: ../alpha_gradient.o $(PLATFORMSOURCES)
101	$(CXX) $(CXXFLAGS) $^ -o alpha_gradient $(LIBS)
102
103alpha_mask: ../alpha_mask.o ../parse_lion.o $(PLATFORMSOURCES)
104	$(CXX) $(CXXFLAGS) $^ -o alpha_mask $(LIBS)
105
106alpha_mask2: ../alpha_mask2.o ../parse_lion.o $(PLATFORMSOURCES)
107	$(CXX) $(CXXFLAGS) $^ -o alpha_mask2 $(LIBS)
108
109alpha_mask3: ../alpha_mask3.o ../make_arrows.o ../make_gb_poly.o $(PLATFORMSOURCES)
110	$(CXX) $(CXXFLAGS) $^ -o alpha_mask3 $(LIBS)
111
112bezier_div: ../bezier_div.o ../interactive_polygon.o $(PLATFORMSOURCES)
113	$(CXX) $(CXXFLAGS) $^ -o bezier_div $(LIBS)
114
115blur: ../blur.o $(PLATFORMSOURCES)
116	$(CXX) $(CXXFLAGS) $^ -o blur $(LIBS)
117
118bspline: ../bspline.o ../interactive_polygon.o $(PLATFORMSOURCES)
119	$(CXX) $(CXXFLAGS) $^ -o bspline $(LIBS)
120
121circles: ../circles.o $(PLATFORMSOURCES)
122	$(CXX) $(CXXFLAGS) $^ -o circles $(LIBS)
123
124component_rendering: ../component_rendering.o $(PLATFORMSOURCES)
125	$(CXX) $(CXXFLAGS) $^ -o component_rendering $(LIBS)
126
127compositing: ../compositing.o $(PLATFORMSOURCES) compositing.ppm
128	$(CXX) $(CXXFLAGS) ../compositing.o $(PLATFORMSOURCES) -o compositing $(LIBS)
129
130compositing2: ../compositing2.o $(PLATFORMSOURCES)
131	$(CXX) $(CXXFLAGS) $^ -o compositing2 $(LIBS)
132
133conv_contour: ../conv_contour.o $(PLATFORMSOURCES)
134	$(CXX) $(CXXFLAGS) $^ -o conv_contour $(LIBS)
135
136conv_dash_marker: ../conv_dash_marker.o $(PLATFORMSOURCES)
137	$(CXX) $(CXXFLAGS) $^ -o conv_dash_marker $(LIBS)
138
139conv_stroke: ../conv_stroke.o $(PLATFORMSOURCES)
140	$(CXX) $(CXXFLAGS) $^ -o conv_stroke $(LIBS)
141
142distortions: ../distortions.o $(PLATFORMSOURCES) spheres.ppm
143	$(CXX) $(CXXFLAGS) ../distortions.o $(PLATFORMSOURCES) -o distortions $(LIBS)
144
145flash_rasterizer: ../flash_rasterizer.o $(PLATFORMSOURCES) shapes.txt
146	$(CXX) $(CXXFLAGS) ../flash_rasterizer.o $(PLATFORMSOURCES) -o flash_rasterizer $(LIBS)
147
148flash_rasterizer2: ../flash_rasterizer2.o $(PLATFORMSOURCES) shapes.txt
149	$(CXX) $(CXXFLAGS) ../flash_rasterizer2.o $(PLATFORMSOURCES) -o flash_rasterizer2 $(LIBS)
150
151gamma_correction: ../gamma_correction.o $(PLATFORMSOURCES)
152	$(CXX) $(CXXFLAGS) $^ -o gamma_correction $(LIBS)
153
154gamma_ctrl: ../gamma_ctrl.o $(PLATFORMSOURCES)
155	$(CXX) $(CXXFLAGS) $^ -o gamma_ctrl $(LIBS)
156
157gamma_tuner: ../gamma_tuner.o $(PLATFORMSOURCES)
158	$(CXX) $(CXXFLAGS) $^ -o gamma_tuner $(LIBS)
159
160gouraud: ../gouraud.o $(PLATFORMSOURCES)
161	$(CXX) $(CXXFLAGS) $^ -o gouraud $(LIBS)
162
163gouraud_mesh: ../gouraud_mesh.o $(PLATFORMSOURCES)
164	$(CXX) $(CXXFLAGS) $^ -o gouraud_mesh $(LIBS)
165
166gradient_focal: ../gradient_focal.o $(PLATFORMSOURCES)
167	$(CXX) $(CXXFLAGS) $^ -o gradient_focal $(LIBS)
168
169gradients: ../gradients.o $(PLATFORMSOURCES)
170	$(CXX) $(CXXFLAGS) $^ -o gradients $(LIBS)
171
172graph_test: ../graph_test.o $(PLATFORMSOURCES)
173	$(CXX) $(CXXFLAGS) $^ -o graph_test $(LIBS)
174
175idea: ../idea.o $(PLATFORMSOURCES)
176	$(CXX) $(CXXFLAGS) $^ -o idea $(LIBS)
177
178image_alpha: ../image_alpha.o $(PLATFORMSOURCES) spheres.ppm
179	$(CXX) $(CXXFLAGS) ../image_alpha.o $(PLATFORMSOURCES) -o image_alpha $(LIBS)
180
181image_filters: ../image_filters.o $(PLATFORMSOURCES) spheres.ppm
182	$(CXX) $(CXXFLAGS) ../image_filters.o $(PLATFORMSOURCES) -o image_filters $(LIBS)
183
184image_filters2: ../image_filters2.o $(PLATFORMSOURCES) spheres.ppm
185	$(CXX) $(CXXFLAGS) ../image_filters2.o $(PLATFORMSOURCES) -o image_filters2 $(LIBS)
186
187image_fltr_graph: ../image_fltr_graph.o $(PLATFORMSOURCES) spheres.ppm
188	$(CXX) $(CXXFLAGS) ../image_fltr_graph.o $(PLATFORMSOURCES) -o image_fltr_graph $(LIBS)
189
190image_perspective: ../image_perspective.o ../interactive_polygon.o $(PLATFORMSOURCES) spheres.ppm
191	$(CXX) $(CXXFLAGS) ../image_perspective.o  ../interactive_polygon.o $(PLATFORMSOURCES) -o image_perspective $(LIBS)
192
193image_resample: ../image_resample.o  ../interactive_polygon.o $(PLATFORMSOURCES) spheres.ppm
194	$(CXX) $(CXXFLAGS) ../image_resample.o ../interactive_polygon.o $(PLATFORMSOURCES) -o image_resample $(LIBS)
195
196image_transforms: ../image_transforms.o $(PLATFORMSOURCES) spheres.ppm
197	$(CXX) $(CXXFLAGS) ../image_transforms.o $(PLATFORMSOURCES) -o image_transforms $(LIBS)
198
199image1: ../image1.o $(PLATFORMSOURCES) spheres.ppm
200	$(CXX) $(CXXFLAGS) ../image1.o $(PLATFORMSOURCES) -o image1 $(LIBS)
201
202line_patterns: ../line_patterns.o $(PLATFORMSOURCES) 1.ppm 2.ppm 3.ppm 4.ppm 5.ppm 6.ppm 7.ppm 8.ppm 9.ppm
203	$(CXX) $(CXXFLAGS) ../line_patterns.o $(PLATFORMSOURCES) -o line_patterns $(LIBS)
204
205line_patterns_clip: ../line_patterns_clip.o $(PLATFORMSOURCES) 1.ppm
206	$(CXX) $(CXXFLAGS) ../line_patterns_clip.o $(PLATFORMSOURCES) -o line_patterns_clip $(LIBS)
207
208lion: ../lion.o ../parse_lion.o $(PLATFORMSOURCES)
209	$(CXX) $(CXXFLAGS) $^ -o lion $(LIBS)
210
211lion_lens: ../lion_lens.o ../parse_lion.o $(PLATFORMSOURCES)
212	$(CXX) $(CXXFLAGS) $^ -o lion_lens $(LIBS)
213
214lion_outline: ../lion_outline.o ../parse_lion.o $(PLATFORMSOURCES)
215	$(CXX) $(CXXFLAGS) $^ -o lion_outline $(LIBS)
216
217mol_view: ../mol_view.o $(PLATFORMSOURCES) 1.sdf
218	$(CXX) $(CXXFLAGS) ../mol_view.o $(PLATFORMSOURCES) -o mol_view $(LIBS)
219
220multi_clip: ../multi_clip.o ../parse_lion.o $(PLATFORMSOURCES)
221	$(CXX) $(CXXFLAGS) $^ -o multi_clip $(LIBS)
222
223pattern_fill: ../pattern_fill.o $(PLATFORMSOURCES)
224	$(CXX) $(CXXFLAGS) $^ -o pattern_fill $(LIBS)
225
226pattern_perspective: ../pattern_perspective.o ../interactive_polygon.o $(PLATFORMSOURCES) agg.ppm
227	$(CXX) $(CXXFLAGS) ../pattern_perspective.o ../interactive_polygon.o $(PLATFORMSOURCES) -o pattern_perspective $(LIBS)
228
229perspective: ../perspective.o ../interactive_polygon.o ../parse_lion.o $(PLATFORMSOURCES)
230	$(CXX) $(CXXFLAGS) $^ -o perspective $(LIBS)
231
232polymorphic_renderer: ../polymorphic_renderer.o $(PLATFORMSOURCES)
233	$(CXX) $(CXXFLAGS) $^ -o polymorphic_renderer $(LIBS)
234
235raster_text: ../raster_text.o $(PLATFORMSOURCES)
236	$(CXX) $(CXXFLAGS) $^ -o raster_text $(LIBS)
237
238rasterizers: ../rasterizers.o $(PLATFORMSOURCES)
239	$(CXX) $(CXXFLAGS) $^ -o rasterizers $(LIBS)
240
241rasterizers2: ../rasterizers2.o $(PLATFORMSOURCES)
242	$(CXX) $(CXXFLAGS) $^ -o rasterizers2 $(LIBS)
243
244rasterizer_compound: ../rasterizer_compound.o $(PLATFORMSOURCES)
245	$(CXX) $(CXXFLAGS) $^ -o rasterizer_compound $(LIBS)
246
247blend_color: ../blend_color.o $(PLATFORMSOURCES)
248	$(CXX) $(CXXFLAGS) $^ -o blend_color $(LIBS)
249
250rounded_rect: ../rounded_rect.o $(PLATFORMSOURCES)
251	$(CXX) $(CXXFLAGS) $^ -o rounded_rect $(LIBS)
252
253scanline_boolean: ../scanline_boolean.o ../interactive_polygon.o $(PLATFORMSOURCES)
254	$(CXX) $(CXXFLAGS) $^ -o scanline_boolean $(LIBS)
255
256scanline_boolean2: ../scanline_boolean2.o ../make_arrows.o ../make_gb_poly.o $(PLATFORMSOURCES)
257	$(CXX) $(CXXFLAGS) $^ -o scanline_boolean2 $(LIBS)
258
259simple_blur: ../simple_blur.o ../parse_lion.o $(PLATFORMSOURCES)
260	$(CXX) $(CXXFLAGS) $^ -o simple_blur $(LIBS)
261
262trans_polar: ../trans_polar.o $(PLATFORMSOURCES)
263	$(CXX) $(CXXFLAGS) $^ -o trans_polar $(LIBS)
264
265freetype_test: ../freetype_test.o ../../font_freetype/agg_font_freetype.o $(PLATFORMSOURCES)  timesi.ttf
266	$(CXX) $(CXXFREETYPEFLAGS) ../freetype_test.o ../../font_freetype/agg_font_freetype.o $(PLATFORMSOURCES) -o freetype_test $(LIBS) -lfreetype
267
268trans_curve1_ft: ../trans_curve1_ft.o ../../font_freetype/agg_font_freetype.o  ../interactive_polygon.o $(PLATFORMSOURCES) timesi.ttf
269	$(CXX) $(CXXFLAGS) ../trans_curve1_ft.o ../../font_freetype/agg_font_freetype.o  ../interactive_polygon.o $(PLATFORMSOURCES) -o trans_curve1_ft $(LIBS) -lfreetype
270
271trans_curve2_ft: ../trans_curve2_ft.o ../../font_freetype/agg_font_freetype.o  ../interactive_polygon.o $(PLATFORMSOURCES) timesi.ttf
272	$(CXX) $(CXXFLAGS) ../trans_curve2_ft.o ../../font_freetype/agg_font_freetype.o  ../interactive_polygon.o $(PLATFORMSOURCES) -o trans_curve2_ft $(LIBS) -lfreetype
273
274gpc_test: ../gpc_test.o ../make_arrows.o ../make_gb_poly.o $(PLATFORMSOURCES)
275	$(CXX) $(CXXFLAGS) $^ -o gpc_test $(LIBS)
276
277svg_test: ../svg_viewer/agg_svg_parser.o ../svg_viewer/agg_svg_path_renderer.o ../svg_viewer/agg_svg_path_tokenizer.o ../svg_viewer/svg_test.o $(PLATFORMSOURCES) tiger.svg
278	$(CXX) $(CXXFLAGS) ../svg_viewer/agg_svg_parser.o ../svg_viewer/agg_svg_path_renderer.o ../svg_viewer/agg_svg_path_tokenizer.o ../svg_viewer/svg_test.o $(PLATFORMSOURCES) -o svg_test $(LIBS) -lfreetype -lexpat
279
280clean:
281	rm -f ../*.o
282	rm -f ../svg_viewer/*.o
283	rm -f ../../src/platform/$(PLATFORM)/agg_platform_support.o
284
285agg.ppm:
286	@echo "Please download http://www.antigrain.com/agg.ppm"
287	@echo "Attempting to retrieve via wget: (will fail if wget is not installed)"
288	wget http://www.antigrain.com/agg.ppm
289
290compositing.ppm:
291	@echo "Please download http://www.antigrain.com/compositing.ppm"
292	@echo "Attempting to retrieve via wget: (will fail if wget is not installed)"
293	wget http://www.antigrain.com/compositing.ppm
294
295spheres.ppm:
296	@echo "Please download http://www.antigrain.com/spheres.ppm"
297	@echo "Attempting to retrieve file: (will fail if wget is not installed)"
298	wget http://www.antigrain.com/spheres.ppm
299
300shapes.txt:
301	@echo "Please download http://www.antigrain.com/shapes.txt"
302	@echo "Attempting to retrieve file: (will fail if wget is not installed)"
303	wget http://www.antigrain.com/shapes.txt
304
3051.sdf:
306	@echo "Please download http://www.antigrain.com/1.sdf"
307	@echo "Attempting to retrieve file: (will fail if wget is not installed)"
308	wget http://www.antigrain.com/1.sdf
309
3101.ppm:
311	@echo "Please download http://www.antigrain.com/line_patterns.tar.gz and decompress it"
312	@echo "Attempting to retrieve file: (will fail if wget is not installed)"
313	wget http://www.antigrain.com/line_patterns.tar.gz
314	gunzip line_patterns.tar.gz
315	tar -xvf line_patterns.tar
316
317timesi.ttf:
318	@echo "Please download http://www.antigrain.com/timesi.zip and decompress it"
319	@echo "Attempting to retrieve file: (will fail if wget is not installed)"
320	wget http://www.antigrain.com/timesi.zip
321	unzip -o timesi.zip
322
323tiger.svg:
324	@echo "Please download http://www.antigrain.com/svg/tiger.svg"
325	@echo "Attempting to retrieve file: (will fail if wget is not installed)"
326	wget http://www.antigrain.com/svg/tiger.svg
327
328../freetype_test.o:	../freetype_test.cpp
329	@echo \< $*.cpp \>
330	$(CXX) -c $(CXXFREETYPEFLAGS) $*.cpp -o $@
331
332../trans_curve1_ft.o:	../trans_curve1_ft.cpp
333	@echo \< $*.cpp \>
334	$(CXX) -c $(CXXFREETYPEFLAGS) $*.cpp -o $@
335
336../trans_curve2_ft.o:	../trans_curve2_ft.cpp
337	@echo \< $*.cpp \>
338	$(CXX) -c $(CXXFREETYPEFLAGS) $*.cpp -o $@
339
340../../font_freetype/agg_font_freetype.o: ../../font_freetype/agg_font_freetype.cpp
341	@echo \< $*.cpp \>
342	$(CXX) -c $(CXXFREETYPEFLAGS) $*.cpp -o $@
343
344../gpc_test.o:	../gpc_test.cpp
345	@echo \< $*.cpp \>
346	$(CXX) -c $(CXXFLAGS) -I../../gpc $*.cpp -o $@
347
348%.o:	%.cpp
349	@echo \< $*.cpp \>
350	$(CXX) -c $(CXXFLAGS) $*.cpp -o $@
351
352
353.PHONY : clean
354
355
356