Project

General

Profile

1 3793 aaronmk
include ../lib/common.Makefile
2
3
4 785 aaronmk
##### Vars/functions
5
6 1272 aaronmk
# Paths
7 895 aaronmk
bin := ../bin
8 6845 aaronmk
inputCoreMaps := Veg+-VegCore.csv VegCore-VegBIEN.csv VegX-VegCore.csv
9 5065 aaronmk
vocab := VegCore.csv
10
dict := Veg+-VegCore.csv
11 895 aaronmk
12 785 aaronmk
##### General targets
13
14 6851 aaronmk
all: _always VegCore.csv VegCore.tables.redmine $(inputCoreMaps) ;
15 150 aaronmk
16 383 aaronmk
clean: _always
17 196 aaronmk
	$(RM) $(all)
18 188 aaronmk
19 924 aaronmk
all :=
20
21 6845 aaronmk
##### Core maps
22 198 aaronmk
23 6845 aaronmk
VegCore.htm:
24
	php -r 'fpassthru(fopen("https://projects.nceas.ucsb.edu/nceas/projects/bien/wiki/VegCore", "r"));' >$@
25
26 7040 aaronmk
VegCore.csv: VegCore.htm
27
	(echo VegCore; $(sed) -n 's/^.*<a name="([a-z][^"]*|[A-Z]+)">.*$$/\1/p')\
28
<$< >$@
29 6845 aaronmk
30 6849 aaronmk
VegCore.tables.csv: VegCore.htm
31 7209 aaronmk
	<$< $(sed) -n 's/^.*<h1 *><a href="#[^>]+>([^<]+).*$$/\1/p' >$@
32 6849 aaronmk
33 6851 aaronmk
VegCore.tables.redmine: VegCore.tables.csv
34
	$(sed) -n 's/^.*$$/[[VegCore#&|&]]/p' <$< >$@
35
36 5045 aaronmk
# This tracks VegCore terms that are mapped to VegBIEN but not documented in
37
# VegCore.csv. This file is *not* svn:ignored, so it will show up with a ? when
38
# the user runs `svn st` if there are any unsourced terms.
39
VegCore-VegBIEN.unsourced_terms.csv: VegCore-VegBIEN.csv VegCore.csv
40
	$(bin)/filter_out_ci 0 <$+ >$@
41
	$(bin)/autoremove $@
42
43 895 aaronmk
ifneq ($(filter .%.last_cleanup,$(MAKECMDGOALS)),)
44 3967 aaronmk
45 6597 aaronmk
.Veg+-VegCore.csv.last_cleanup: .%.last_cleanup: % $(dict)
46 5067 aaronmk
	$(bin)/in_place $< $(bin)/translate 1 $(dict)
47 6830 aaronmk
	$(bin)/in_place $< $(bin)/canon 1 $(vocab)
48 6703 aaronmk
	$(bin)/in_place $< env text=1 $(bin)/repl $(dict) 2
49 6629 aaronmk
	$(bin)/in_place $< $(bin)/sort 2 0
50 4890 aaronmk
	touch $@
51 6597 aaronmk
.PRECIOUS: .Veg+-VegCore.csv.last_cleanup
52 4890 aaronmk
53 6597 aaronmk
.VegX-VegCore.csv.last_cleanup: .%.last_cleanup: % $(dict)
54
	$(bin)/in_place $< $(bin)/translate 1 $(dict)
55
	$(bin)/in_place $< $(bin)/sort_map
56
	touch $@
57
# can't canon because this would remove ? prefixes
58
.PRECIOUS: .VegX-VegCore.csv.last_cleanup
59
60 5065 aaronmk
.VegCore-VegBIEN.csv.last_cleanup: .%.last_cleanup: % $(dict) $(vocab)
61
	$(bin)/in_place $< $(bin)/translate 0 $(dict)
62
	$(bin)/in_place $< $(bin)/canon 0 $(vocab)
63 1132 aaronmk
	$(bin)/in_place $< $(bin)/sort_map
64 895 aaronmk
	touch $@
65 4692 aaronmk
	$(bin)/review 1 <$< >for_review/$<
66 5045 aaronmk
	$(MAKE) VegCore-VegBIEN.unsourced_terms.csv
67 5253 aaronmk
.PRECIOUS: .VegCore-VegBIEN.csv.last_cleanup
68 3967 aaronmk
69 895 aaronmk
else
70 1824 aaronmk
$(inputCoreMaps): _always
71 895 aaronmk
	$(MAKE) $(@:%=.%.last_cleanup)
72 5254 aaronmk
.PRECIOUS: $(inputCoreMaps)
73 895 aaronmk
endif