Commit | Line | Data |
---|---|---|
23f8ad3b | 1 | NAME:=measurements |
3f5430db | 2 | empty:= |
755aed61 | 3 | |
281bbfc4 | 4 | # $(OO) is now taken from shell-setup. |
755aed61 MM |
5 | ifeq ($(OO),) |
6 | $(error You must source "shell-setup" in the shell before running make.) | |
7 | endif | |
8 | ||
3f5430db | 9 | |
3f5430db MM |
10 | IDL_TYPES:=net/mattmccutchen/measurements/XMeasurementsAddIn |
11 | ||
23f8ad3b MM |
12 | all: $(NAME).oxt |
13 | ||
14 | # Compile src -> bin using Eclipse's Java Builder. | |
15 | ||
16 | urd/%.urd: src/%.idl | |
17 | mkdir -p $(dir $@) | |
18 | idlc -C -I$(OO)/sdk/idl -O$(dir $@) $< | |
3f5430db | 19 | |
23f8ad3b MM |
20 | %/.: |
21 | mkdir -p $* | |
3f5430db | 22 | |
23f8ad3b | 23 | pkg/$(NAME).uno.rdb: $(patsubst %,urd/%.urd,$(IDL_TYPES)) pkg/. |
3f5430db MM |
24 | regmerge $@ /UCR $^ |
25 | ||
23f8ad3b MM |
26 | .PHONY: bin-types |
27 | bin-types: pkg/$(NAME).uno.rdb | |
28 | rm -rf $@ | |
29 | mkdir -p $(addprefix $@/,$(dir $(IDL_TYPES))) | |
3f5430db | 30 | # javamaker is temperamental and demands the ./ |
281bbfc4 | 31 | javamaker -BUCR -nD -T$(subst /,.,$(subst $(empty) ,;,$(IDL_TYPES))) -O./$@ $(OO)/ure-link/share/misc/types.rdb $< |
3f5430db | 32 | |
23f8ad3b MM |
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 ../$@ -@ | |
3f5430db | 40 | |
23f8ad3b | 41 | PKG_FILES:=META-INF/manifest.xml $(NAME).uno.jar $(NAME).uno.rdb |
3f5430db | 42 | |
23f8ad3b MM |
43 | pkg/META-INF/manifest.xml: src/META-INF/manifest.xml pkg/META-INF/. |
44 | cat $< >$@ | |
3f5430db | 45 | |
23f8ad3b | 46 | $(NAME).oxt: $(addprefix pkg/,$(PKG_FILES)) |
3f5430db MM |
47 | cd pkg && fastjar -cMf ../$@ $(PKG_FILES) |
48 | ||
49 | clean: | |
23f8ad3b | 50 | rm -rf urd bin-types pkg $(NAME).oxt |