Project

General

Profile

1
##### Vars/functions
2

    
3
bin := ../bin
4

    
5
review_ = $(bin)/review <$(1) >for_review/$(1)
6
review = $(call review_,$@)
7

    
8
coreMaps := DwC1-DwC2.specimens.csv DwC2-VegBIEN.specimens.csv\
9
VegX-VegBIEN.organisms.csv
10

    
11
##### General targets
12

    
13
all: _always $(coreMaps) join_maps ch_root_maps ;
14

    
15
.SUFFIXES: # turn off built-in suffix rules
16
.SECONDARY: # don't automatically delete intermediate files
17

    
18
_always:
19
.PHONY: _always
20

    
21
clean: _always
22
	$(RM) $(all)
23

    
24
all :=
25

    
26
remake: _always clean all ;
27

    
28
##### Core maps cleanup
29

    
30
ifneq ($(filter .%.last_cleanup,$(MAKECMDGOALS)),)
31
.%.last_cleanup: %
32
	$(bin)/in_place $< $(bin)/simplify_xpath
33
	$(bin)/in_place $< $(bin)/sort_map
34
	touch $@
35
	$(call review_,$<)
36
else
37
$(coreMaps): _always
38
	$(MAKE) $(@:%=.%.last_cleanup)
39
endif
40

    
41
##### Maps generated with join
42

    
43
join = env header_num=1 $(bin)/join_union_sort
44
selfMap = $(bin)/cols 0 0
45

    
46
joinMaps :=
47

    
48
DwC2.ci-VegBIEN.specimens.csv: DwC2-VegBIEN.specimens.csv
49
	$(selfMap) <$<|$(bin)/ucase_first 0|$(join) $< >$@
50
joinMaps += DwC2.ci-VegBIEN.specimens.csv
51

    
52
DwC-VegBIEN.specimens.csv: DwC1-DwC2.specimens.csv DwC2.ci-VegBIEN.specimens.csv
53
	$(join) <$+ >$@
54
joinMaps += DwC-VegBIEN.specimens.csv
55

    
56
DwC.self.specimens.csv: DwC-VegBIEN.specimens.csv
57
	$(selfMap) <$< >$@
58
joinMaps += DwC.self.specimens.csv
59

    
60
join_maps: $(joinMaps) ;
61

    
62
all += $(joinMaps)
63

    
64
##### Maps generated with ch_root
65

    
66
define chRoot
67
$(bin)/ch_root <$< >$@
68
$(review)
69
endef
70

    
71
chRootMaps :=
72

    
73
VegX-VegBIEN.plots.csv: VegX-VegBIEN.organisms.csv
74
	env \
75
left_in_root='/*s/individualOrganismObservation/*ID->/*s/plotObservation' \
76
left_out_root='/*s/plotObservation' \
77
right_in_root='/taxonoccurrence/*_id/locationevent' \
78
right_out_root='/locationevent' \
79
$(chRoot)
80
chRootMaps += VegX-VegBIEN.plots.csv
81

    
82
VegX-VegBIEN.stems.csv: VegX-VegBIEN.organisms.csv
83
	env \
84
left_in_root='/*s/individualOrganismObservation->/*s/individualOrganismObservation[relatedItem[relationshipType=stemParent]/relatedItemID]' \
85
left_out_root='/*s/individualOrganismObservation[relatedItem[relationshipType=stemParent]/relatedItemID]' \
86
right_in_root='/taxonoccurrence/aggregateoccurrence/*_id/plantobservation/stemobservation' \
87
right_out_root='/stemobservation' \
88
$(chRoot)
89
chRootMaps += VegX-VegBIEN.plots.csv
90

    
91
ch_root_maps: $(chRootMaps) ;
92

    
93
all += $(chRootMaps)
(9-9/15)