|
1 # This Source Code Form is subject to the terms of the Mozilla Public |
|
2 # License, v. 2.0. If a copy of the MPL was not distributed with this |
|
3 # file, You can obtain one at http://mozilla.org/MPL/2.0/. |
|
4 |
|
5 IA2DIR = $(topsrcdir)/other-licenses/ia2 |
|
6 |
|
7 GARBAGE += $(MIDL_GENERATED_FILES) |
|
8 |
|
9 # Please keep this list in sync with the moz.build file until the rest of this |
|
10 # Makefile is ported over. |
|
11 MIDL_INTERFACES = \ |
|
12 Accessible2.idl \ |
|
13 Accessible2_2.idl \ |
|
14 AccessibleAction.idl \ |
|
15 AccessibleApplication.idl \ |
|
16 AccessibleComponent.idl \ |
|
17 AccessibleDocument.idl \ |
|
18 AccessibleEditableText.idl \ |
|
19 AccessibleHyperlink.idl \ |
|
20 AccessibleHypertext.idl \ |
|
21 AccessibleHypertext2.idl \ |
|
22 AccessibleImage.idl \ |
|
23 AccessibleRelation.idl \ |
|
24 AccessibleTable.idl \ |
|
25 AccessibleTable2.idl \ |
|
26 AccessibleTableCell.idl \ |
|
27 AccessibleText.idl \ |
|
28 AccessibleText2.idl \ |
|
29 AccessibleValue.idl \ |
|
30 $(NULL) |
|
31 |
|
32 # Please keep this list in sync with the moz.build file until the rest of this |
|
33 # Makefile is ported over. |
|
34 MIDL_ENUMS = \ |
|
35 AccessibleEventId.idl \ |
|
36 AccessibleRole.idl \ |
|
37 AccessibleStates.idl \ |
|
38 IA2CommonTypes.idl \ |
|
39 $(NULL) |
|
40 |
|
41 CSRCS = \ |
|
42 dlldata.c \ |
|
43 $(MIDL_INTERFACES:%.idl=%_p.c) \ |
|
44 $(MIDL_INTERFACES:%.idl=%_i.c) \ |
|
45 $(NULL) |
|
46 |
|
47 MIDL_GENERATED_FILES = \ |
|
48 dlldata.c \ |
|
49 $(MIDL_INTERFACES:%.idl=%_p.c) \ |
|
50 $(MIDL_INTERFACES:%.idl=%_i.c) \ |
|
51 $(MIDL_INTERFACES:%.idl=%.h) \ |
|
52 $(MIDL_ENUMS:%.idl=%.h) \ |
|
53 $(NULL) |
|
54 |
|
55 EMBED_MANIFEST_AT = 2 |
|
56 |
|
57 INSTALL_TARGETS += midl |
|
58 midl_FILES := $(filter %.h %_i.c,$(MIDL_GENERATED_FILES)) |
|
59 midl_DEST = $(DIST)/include |
|
60 midl_TARGET := export |
|
61 |
|
62 include $(topsrcdir)/config/rules.mk |
|
63 |
|
64 OS_LIBS = $(call EXPAND_LIBNAME,uuid kernel32 rpcns4 rpcrt4 ole32 oleaut32) |
|
65 |
|
66 # generate list of to-be-generated files that are missing |
|
67 # but ignore special file dlldata.c |
|
68 missing:=$(strip $(foreach onefile,$(strip $(subst dlldata.c,,$(MIDL_GENERATED_FILES))),$(if $(wildcard $(onefile)),,$(onefile)))) |
|
69 |
|
70 missing_base:=$(sort $(basename $(subst _p.c,,$(subst _i.c,,$(missing))))) |
|
71 |
|
72 $(MIDL_GENERATED_FILES) : midl_done |
|
73 |
|
74 ifneq ("$(missing)","") |
|
75 midl_done : FORCE |
|
76 endif |
|
77 |
|
78 midl_done : $(addprefix $(IA2DIR)/,$(MIDL_INTERFACES) $(MIDL_ENUMS)) |
|
79 for idl in $(sort $(subst FORCE,,$?) $(addsuffix .idl,$(addprefix $(IA2DIR)/,$(missing_base)))); do \ |
|
80 $(MIDL) $(MIDL_FLAGS) -app_config -I $(IA2DIR) -Oicf $$idl; \ |
|
81 done |
|
82 touch $@ |
|
83 |
|
84 # This marshall dll is also registered in the installer |
|
85 register:: |
|
86 regsvr32 -s $(DIST)/bin/$(SHARED_LIBRARY) |