Project

General

Profile

1
os = $(shell uname)
2

    
3
SED = sed -$(if $(filter Darwin,$(os)),E,r)
4

    
5
#####
6

    
7
all: _not_file misc
8
	$(MAKE) plots
9
	./join VegX VegBank
10
	./join VegX VegBIEN
11
	./review
12

    
13
.SUFFIXES:
14

    
15
_not_file:
16
.PHONY: _not_file
17

    
18
misc = schemas/vegbien.sql schemas/vegbien_empty.sql VegX-VegBIEN.organisms.csv
19

    
20
all =\
21
$(wildcard for_review/*.csv) \
22
$(filter-out VegX-% VegBank-%,$(wildcard *-VegBank.*.csv *-VegBIEN.*.csv)) \
23
VegX-*.plots.csv $(misc)
24

    
25
clean: _not_file
26
	$(RM) $(all)
27

    
28
#####
29

    
30
misc: $(misc)
31
.PRECIOUS: $(misc)
32

    
33
bin = ../bin
34
repl = $(bin)/repl
35
sort = $(bin)/sort 1 0
36
chRoot = $(bin)/ch_root <$< >$@
37
empty = $(SED) -n \
38
's/^CREATE TABLE ([0-9A-Za-z_]+) \($$/TRUNCATE \1 CASCADE;/p' <$< >$@
39

    
40
VegBank-VegBIEN.%.csv: VegBank-VegBIEN.csv VegBank-VegBIEN.%_only.csv
41
	$(bin)/cat_csv <$+ >$@
42
.PRECIOUS: VegBank-VegBIEN.%.csv
43

    
44
schemas/vegbien.sql: schemas/vegbank.sql VegBank-VegBIEN.schema.csv
45
	$(repl) <$+ >$@
46

    
47
schemas/vegbien_empty.sql: schemas/vegbien.sql
48
	$(empty)
49

    
50
VegX-VegBank.organisms.csv: _not_file
51
	$(bin)/in_place $@ $(sort)
52

    
53
VegX-VegBIEN.organisms.csv: VegX-VegBank.organisms.csv VegBank-VegBIEN.map.csv
54
	$(repl) <$+ 1|$(sort) >$@
55

    
56
#####
57

    
58
plots: _not_file $(subst .organisms.,.plots.,$(wildcard VegX-*.organisms.csv))
59

    
60
chRoot2PlotsLeftVegx =\
61
	env \
62
	left_in_root='/*s/individualOrganismObservation/*ID->/*s/plotObservation' \
63
	left_out_root='/*s/plotObservation' \
64
	$(chRoot)
65

    
66
VegX-VegBank.plots.csv: VegX-VegBank.organisms.csv
67
	$(chRoot2PlotsVegxVegbank)
68
chRoot2PlotsVegxVegbank =\
69
	env \
70
	right_in_root='/taxonObservation/*_ID/observation' \
71
	right_out_root='/observation' \
72
	$(chRoot2PlotsLeftVegx)
73

    
74
VegX-VegBIEN.plots.csv: VegX-VegBIEN.organisms.csv
75
	$(chRoot2PlotsVegxVegbien)
76
chRoot2PlotsVegxVegbien =\
77
	env \
78
	right_in_root='/taxonoccurrence/*_ID/plotevent' \
79
	right_out_root='/plotevent' \
80
	$(chRoot2PlotsLeftVegx)
(1-1/27)