-
Notifications
You must be signed in to change notification settings - Fork 3
/
usfm-makefile
63 lines (43 loc) · 1.84 KB
/
usfm-makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
MODULENAME=
LANGUAGE=
STAGINGAREA=XXXX@crosswire.org:/home/XXXX/staging/
USFM=usfm/*SFM
OSIS=./osis/$(MODULENAME).osis.xml
FIXED=$(OSIS).fixed.xml
MODULE=./modules/texts/ztext/$(MODULENAME)
all: $(MODULE)
$(OSIS):
./bin/usfm2osis.py $(MODULENAME) -x -o $(OSIS) -l $(LANGUAGE) $(USFM)
$(FIXED): $(OSIS)
./bin/xreffix.pl $(OSIS) >xref.log
./remotescripts/confmaker.pl $(FIXED) -o ./mods.d/$(MODULENAME).conf -m -l $(LANGUAGE)
$(MODULE): $(FIXED)
osis2mod $(MODULE) $(FIXED) -z z
clean:
rm osis/*
rm modules/texts/ztext/$(MODULENAME)/*
rm mods.d/*
rm xref.log
deepclean:
rm -r osis remotescripts mods.d modules $(MODULENAME).zip locales.d
publish: setup all
chmod -R ugoa+rw ./modules/texts/ztext/$(MODULENAME)/*
zip -r $(MODULENAME).zip ./mods.d ./modules
scp $(MODULENAME).zip $(DEPLOYADDRESS):~/staging/
mkfastmod MAL
mv ./modules/texts/ztext/$(MODULENAME)/lucene $(INDEX)
zip -j $(INDEX).zip $(INDEX)/*
scp $(INDEX).zip $(DEPLOYADDRESS):~/staging/
ssh $(DEPLOYADDRESS) ~/bin/deploy.sh $(MODULENAME).zip $(INDEX).zip
setup:
mkdir -p remotescripts osis mods.d modules/texts/ztext/$(MODULENAME) locales.d
wget -P remotescripts http://www.crosswire.org/svn/sword-tools/trunk/modules/conf/confmaker.pl
wget -P locales.d http://www.crosswire.org/svn/sword/trunk/locales.d/$(LANGUAGE)-utf8.conf
chmod +x remotescripts/*
help:
$(info available targets are 'setup', 'all', 'clean', 'deepclean' and 'publish')
$(info 'setup' will create the necessary work directories and download various scripts necessary to process your text)
$(info 'clean' will remove all temporary files)
$(info 'deepclean' will remove all directories apart from the makefile and the usfm source)
$(info 'all' will produce an osis-file, will run xref recognition)
$(info 'publish' will produce the module files and a zipped module, ready for testing)