Initial commit of Matt's measurement add-in for OpenOffice.org Calc.
[measurements/measurements.git] / Makefile
1 empty:=
2
3 OO:=/usr/lib/openoffice.org
4
5 #export PATH+=:$(OO)/sdk/linux/bin
6 #export LD_LIBRARY_PATH=$(OO)/program
7
8 #IDL_TYPES:=net/mattmccutchen/measurements/XExampleAddIn
9 IDL_TYPES:=net/mattmccutchen/measurements/XMeasurementsAddIn
10
11 all: measurements.uno.pkg
12
13 %.urd: %.idl
14         idlc -I$(OO)/sdk/idl $<
15
16 types.rdb: $(patsubst %,src/%.urd,$(IDL_TYPES))
17         regmerge $@ /UCR $^
18
19 .PHONY: idl-classes
20 idl-classes: types.rdb
21         rm -rf idl-classes
22         mkdir -p $(addprefix idl-classes/,$(dir $(IDL_TYPES)))
23 # javamaker is temperamental and demands the ./
24         javamaker -O./idl-classes -T$(subst /,.,$(subst $(empty) ,;,$(IDL_TYPES))) -nD -BUCR $(OO)/program/types.rdb types.rdb
25
26 pkg/types.rdb: types.rdb
27         cat $< >$@
28
29 .PHONY: pkg/types.jar
30 pkg/types.jar: idl-classes
31         cd idl-classes && fastjar -cMf ../$@ $(addsuffix .class,$(IDL_TYPES))
32
33 .PHONY: pkg/component.jar
34 pkg/component.jar:
35         cd bin && find . -name '*.class' -or -wholename './META-INF/MANIFEST.MF' | LC_COLLATE=C sort | fastjar -cMf ../$@ -@
36
37 PKG_FILES:=META-INF/manifest.xml types.rdb types.jar component.jar
38
39 measurements.uno.pkg: $(addprefix pkg/,$(PKG_FILES))
40         cd pkg && fastjar -cMf ../$@ $(PKG_FILES)
41
42 clean:
43         rm -rf idl-classes types.rdb pkg/{types.rdb,types.jar,component.jar}
44         find src -name '*.urd' -delete