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)) \
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
in_place = $(bin)/in_place
35
cat_csv = $(bin)/cat_csv
36
repl = $(bin)/repl
37
sort = $(bin)/sort 1 0
38
chRoot = $(bin)/ch_root <$< >$@
39
empty = $(SED) -n \
40
's/^CREATE TABLE ([0-9A-Za-z_]+) \($$/TRUNCATE \1 CASCADE;/p' <$< >$@
41

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

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

    
49
schemas/vegbien_empty.sql: schemas/vegbien.sql
50
	$(empty)
51

    
52
VegX-VegBank.organisms.csv: _not_file
53
	$(in_place) $@ $(sort)
54

    
55
VegX-VegBIEN.organisms.csv: VegX-VegBank.organisms.csv
56
	$(repl) <$< VegBank-VegBIEN.csv 1|$(sort) >$@
57

    
58
#####
59

    
60
plots: _not_file $(subst .organisms.,.plots.,$(wildcard VegX-*.organisms.csv))
61

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

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

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