# 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/.

ifdef COMPILE_ENVIRONMENT

# This file is generated by the moz.build backend.
include ipdlsrcs.mk

include $(topsrcdir)/config/rules.mk

ipdl_py_deps := \
    $(wildcard $(srcdir)/*.py) \
    $(wildcard $(srcdir)/ipdl/*.py) \
    $(wildcard $(srcdir)/ipdl/cxx/*.py) \
    $(wildcard $(topsrcdir)/other-licenses/ply/ply/*.py) \
    $(NULL)

# NB: the IPDL compiler manages .ipdl-->.h/.cpp dependencies itself,
# which is why we don't have explicit .h/.cpp targets here
ipdl.track: $(ALL_IPDLSRCS) $(ALL_IPDLSRCS_FILE) $(srcdir)/sync-messages.ini $(srcdir)/message-metadata.ini $(ipdl_py_deps)
	$(call BUILDSTATUS,START_Ipdl ipdl.py)
	$(PYTHON3) $(srcdir)/ipdl.py \
	  --sync-msg-list=$(srcdir)/sync-messages.ini \
	  --msg-metadata=$(srcdir)/message-metadata.ini \
	  --outheaders-dir=_ipdlheaders \
	  --outcpp-dir=. \
	  $(IPDLDIRS:%=-I%) \
	  --file-list $(ALL_IPDLSRCS_FILE)
	touch $@
	$(call BUILDSTATUS,END_Ipdl ipdl.py)

export:: ipdl.track
endif

