4 # $(OO) is now taken from shell-setup.
6 $(error You must source "shell-setup" in the shell before running make.)
10 IDL_TYPES:=net/mattmccutchen/measurements/XMeasurementsAddIn
14 # Compile src -> bin using Eclipse's Java Builder.
18 idlc -C -I$(OO)/sdk/idl -O$(dir $@) $<
23 pkg/$(NAME).uno.rdb: $(patsubst %,urd/%.urd,$(IDL_TYPES)) pkg/.
27 bin-types: pkg/$(NAME).uno.rdb
29 mkdir -p $(addprefix $@/,$(dir $(IDL_TYPES)))
30 # javamaker is temperamental and demands the ./
31 javamaker -BUCR -nD -T$(subst /,.,$(subst $(empty) ,;,$(IDL_TYPES))) -O./$@ $(OO)/ure-link/share/misc/types.rdb $<
33 # We collect both types and implementation into this jar.
34 # It seems that the manifest has to be first, so handle it specially.
35 .PHONY: pkg/$(NAME).uno.jar
36 pkg/$(NAME).uno.jar: bin-types pkg/.
37 cd bin && fastjar -cMf ../$@ META-INF/MANIFEST.MF
38 cd bin-types && fastjar -uMf ../$@ $(addsuffix .class,$(IDL_TYPES))
39 cd bin && find . -name '*.class' | LC_COLLATE=C sort | fastjar -uMf ../$@ -@
41 PKG_FILES:=META-INF/manifest.xml $(NAME).uno.jar $(NAME).uno.rdb
43 pkg/META-INF/manifest.xml: src/META-INF/manifest.xml pkg/META-INF/.
46 $(NAME).oxt: $(addprefix pkg/,$(PKG_FILES))
47 cd pkg && fastjar -cMf ../$@ $(PKG_FILES)
50 rm -rf urd bin-types pkg $(NAME).oxt