]> mj.ucw.cz Git - leo.git/blob - Makefile
Imported experimental version from poskole2014.git
[leo.git] / Makefile
1 LIBUCW:=$(shell cd /home/mj/src/libucw/run && pwd)
2 UCWCF:=$(shell PKG_CONFIG_PATH=$(LIBUCW)/lib/pkgconfig pkg-config --cflags libucw libucw-charset libucw-xml)
3 UCWLF:=$(shell PKG_CONFIG_PATH=$(LIBUCW)/lib/pkgconfig pkg-config --libs libucw libucw-charset libucw-xml)
4 FTCF:=$(shell freetype-config --cflags)
5 FTLF:=$(shell freetype-config --libs)
6 PANGOCF:=$(shell pkg-config pangoft2 --cflags)
7 PANGOLF:=$(shell pkg-config pangoft2 --libs)
8
9 CC=gcc
10 LD=gcc
11 COPT=-O2
12 CFLAGS=$(COPT) -Wall -W -Wno-parentheses -Wstrict-prototypes -Wmissing-prototypes -Wundef -Wredundant-decls -Wno-missing-field-initializers -std=gnu99 $(UCWCF) -ggdb -DDEBUG_ASSERTS
13 LDLIBS+=$(FTLF) $(PANGOLF) $(UCWLF) -lproj
14
15 all: leo
16
17 leo: leo.o xml.o osm.o svg.o svg-icon.o css-parse.o css-lex.o style.o css.o dict.o sym.o sym-point.o sym-line.o sym-text.o map.o shp.o
18
19 INC=leo.h dict-keys.h dict-values.h dict-props.h osm.h svg.h style.h css.h dict.h map.h sym.h
20
21 leo.o: leo.c $(INC)
22 xml.o: xml.c $(INC)
23 osm.o: osm.c $(INC)
24 svg.o: svg.c $(INC)
25 svg-icon.o: svg-icon.c $(INC)
26 style.o: style.c $(INC)
27 css.o: css.c $(INC)
28 dict.o: dict.c $(INC)
29 sym.o: sym.c $(INC)
30 sym-point.o: sym-point.c $(INC)
31 sym-line.o: sym-line.c $(INC)
32 sym-text.o: sym-text.c $(INC)
33 css-parse.o: css-parse.c $(INC)
34 css-lex.o: css-lex.c $(INC) css-parse.c
35 map.o: map.c $(INC)
36 shp.o: shp.c $(INC)
37
38 sym-text.o: CFLAGS+=$(FTCF) $(PANGOCF)
39
40 css-parse.c: css-parse.y
41         bison --name-prefix=css_ --token-table --verbose --defines -o $@ $^
42
43 dict-%.h: dict-%.t gen-dict
44         ./gen-dict <$< >$@
45
46 clean:
47         rm -f leo *.o css-parse.c css-parse.h css-parse.output tags
48         rm -f dict-keys.h dict-values.h dict-props.h
49
50 tags:
51         ctags *.[chy]
52
53 upload:
54         rs output.pdf ps:poskole-beta/www/tmp/2014/mapa.pdf
55
56 backup:
57         rs . camelot:a/priv/poskole/map/new/$$(date '+%Y%m%d-%H%M%S')/
58
59 output.svg: leo dump.osm poskole.css
60         ./leo
61
62 output.pdf: output.svg
63         inkscape --export-pdf=output.pdf output.svg