gecko/xpcom/idl-parser/Makefile.in

58 lines
1.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/.
PARSER_SRCS = \
header.py \
typelib.py \
xpidl.py \
$(NULL)
SDK_BINARY = \
$(PARSER_SRCS) \
$(IDL_PARSER_CACHE_DIR)/xpidllex.py \
$(IDL_PARSER_CACHE_DIR)/xpidlyacc.py \
$(NULL)
SDK_BINARY_TARGET = xpidl-parser
ifndef MOZ_SYSTEM_PLY
PLY_FILES = \
$(topsrcdir)/other-licenses/ply/ply/__init__.py \
$(topsrcdir)/other-licenses/ply/ply/lex.py \
$(topsrcdir)/other-licenses/ply/ply/yacc.py \
$(NULL)
PLY_DEST = $(SDK_BIN_DIR)/ply
INSTALL_TARGETS += PLY
PLY_TARGET = xpidl-parser
endif
include $(topsrcdir)/config/rules.mk
# Generate the PLY lexer and parser.
$(IDL_PARSER_CACHE_DIR)/xpidllex.py: $(PARSER_SRCS) $(PLY_FILES)
$(PYTHON_PATH) \
$(PLY_INCLUDE) \
$(srcdir)/header.py --cachedir=$(IDL_PARSER_CACHE_DIR) --regen
# generating xpidllex.py generates xpidlyacc.py too
$(IDL_PARSER_CACHE_DIR)/xpidlyacc.py: $(IDL_PARSER_CACHE_DIR)/xpidllex.py
check::
$(PYTHON_PATH) \
$(PLY_INCLUDE) \
-I. \
$(srcdir)/runtests.py
garbage_files := \
xpidllex.py \
xpidllex.pyc \
xpidlyacc.py \
xpidlyacc.pyc \
xpidl_debug \
$(NULL)
GARBAGE += $(addprefix $(IDL_PARSER_CACHE_DIR)/,$(garbage_files))