gecko-dev/accessible/interfaces/ia2/Makefile.in

114 строки
3.3 KiB
Makefile

# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
IA2DIR = $(topsrcdir)/other-licenses/ia2
GARBAGE += $(MIDL_GENERATED_FILES) \
$(MIDL_UNUSED_GENERATED_FILES) \
midl_done \
typelib_done \
$(NULL)
# Please keep this list in sync with the moz.build file until the rest of this
# Makefile is ported over.
MIDL_INTERFACES = \
Accessible2.idl \
Accessible2_2.idl \
Accessible2_3.idl \
AccessibleAction.idl \
AccessibleApplication.idl \
AccessibleComponent.idl \
AccessibleDocument.idl \
AccessibleEditableText.idl \
AccessibleHyperlink.idl \
AccessibleHypertext.idl \
AccessibleHypertext2.idl \
AccessibleImage.idl \
AccessibleRelation.idl \
AccessibleTable.idl \
AccessibleTable2.idl \
AccessibleTableCell.idl \
AccessibleText.idl \
AccessibleText2.idl \
AccessibleValue.idl \
$(NULL)
# Please keep this list in sync with the moz.build file until the rest of this
# Makefile is ported over.
MIDL_ENUMS = \
AccessibleEventId.idl \
AccessibleRole.idl \
AccessibleStates.idl \
IA2CommonTypes.idl \
$(NULL)
MIDL_LIBRARIES = \
IA2Typelib.idl \
$(NULL)
CSRCS = \
dlldata.c \
$(MIDL_INTERFACES:%.idl=%_p.c) \
$(MIDL_INTERFACES:%.idl=%_i.c) \
$(NULL)
MIDL_GENERATED_FILES = \
dlldata.c \
$(MIDL_ENUMS:%.idl=%.h) \
$(MIDL_INTERFACES:%.idl=%_p.c) \
$(MIDL_INTERFACES:%.idl=%_i.c) \
$(MIDL_INTERFACES:%.idl=%.h) \
$(MIDL_LIBRARIES:%.idl=%.tlb) \
$(NULL)
# We want to generate a .tlb from MIDL_LIBRARIES, but midl also generates
# a bunch of .h and .c files that we're not interested in.
MIDL_UNUSED_GENERATED_FILES = \
$(MIDL_LIBRARIES:%.idl=%_p.c) \
$(MIDL_LIBRARIES:%.idl=%_i.c) \
$(MIDL_LIBRARIES:%.idl=%.h) \
$(MIDL_LIBRARIES:%.idl=%.c) \
$(NULL)
EMBED_MANIFEST_AT = 2
INSTALL_TARGETS += midl
midl_FILES := $(filter %.h %_i.c,$(MIDL_GENERATED_FILES))
midl_DEST = $(DIST)/include
midl_TARGET := midl
export:: midl
include $(topsrcdir)/config/rules.mk
# generate list of to-be-generated files that are missing
# but ignore special file dlldata.c and .tlb files
missing:=$(strip $(foreach onefile,$(strip $(patsubst %.tlb,,$(subst dlldata.c,,$(MIDL_GENERATED_FILES)))),$(if $(wildcard $(onefile)),,$(onefile))))
missing_base:=$(sort $(basename $(subst _p.c,,$(subst _i.c,,$(missing)))))
$(MIDL_GENERATED_FILES) : midl_done typelib_done
ifneq ("$(missing)","")
midl_done : FORCE
endif
midl_done : $(addprefix $(IA2DIR)/,$(MIDL_INTERFACES) $(MIDL_ENUMS))
for idl in $(sort $(subst FORCE,,$?) $(addsuffix .idl,$(addprefix $(IA2DIR)/,$(missing_base)))); do \
$(MIDL) $(MIDL_FLAGS) -app_config -I $(IA2DIR) -Oicf $$idl; \
done
touch $@
# The intent of this rule is to generate the .tlb file that is referenced in the
# .rc file for IA2Marshal.dll
typelib_done : $(addprefix $(srcdir)/,$(MIDL_LIBRARIES))
for idl in $?; do \
$(MIDL) $(MIDL_FLAGS) -app_config -I $(IA2DIR) -D _MIDL_DECLARE_WIREM_HANDLE -dlldata `basename $$idl .idl`.c -Oicf $$idl; \
done
touch $@
# This marshall dll is NOT registered in the installer (agreed to by IA2 participants)
register::
regsvr32 -s $(DIST)/bin/$(SHARED_LIBRARY)