# 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/. DEPTH = ../.. topsrcdir = @top_srcdir@ srcdir = @srcdir@ VPATH = @srcdir@ include $(DEPTH)/config/autoconf.mk GARBAGE_DIRS += _ipdlheaders GARBAGE += ipdl_lextab.py ipdl_yacctab.py $(wildcard *.pyc $(srcdir)/ipdl/*.pyc $(srcdir)/ipdl/cxx/*.pyc) MODULE = ipdlgen LIBRARY_NAME = mozipdlgen_s FORCE_STATIC_LIB = 1 LIBXUL_LIBRARY = 1 EXPORT_LIBRARY = 1 ##----------------------------------------------------------------------------- ## When you add IPDL files to a source directory, list the directory here. ## IPDLDIRS = \ uriloader/exthandler \ dom/indexedDB/ipc \ dom/plugins/ipc \ dom/ipc \ dom/sms/src/ipc \ dom/src/storage \ gfx/layers/ipc \ hal/sandbox \ ipc/testshell \ js/ipc \ layout/ipc \ netwerk/ipc \ netwerk/protocol/ftp \ netwerk/protocol/http \ netwerk/protocol/wyciwyg \ netwerk/protocol/websocket \ netwerk/cookie \ uriloader/prefetch \ $(NULL) ifdef MOZ_IPDL_TESTS #{ IPDLDIRS += ipc/ipdl/test/cxx endif #} ##----------------------------------------------------------------------------- ifdef MOZ_IPDL_TESTS DIRS += test endif vpath %.ipdl $(topsrcdir) vpath %.ipdlh $(topsrcdir) define ADD_IPDLDIR include $(topsrcdir)/$(IPDLDIR)/ipdl.mk ALL_IPDLSRCS += $$(IPDLSRCS:%=$(IPDLDIR)/%) PROTOCOLS += $$(IPDLSRCS) endef ALL_IPDLSRCS := PROTOCOLS := $(foreach IPDLDIR,$(IPDLDIRS),$(eval $(ADD_IPDLDIR))) CPPSRCS = \ $(PROTOCOLS:%.ipdl=%Parent.cpp) \ $(PROTOCOLS:%.ipdl=%Child.cpp) \ $(PROTOCOLS:%.ipdl=%.cpp) \ $(PROTOCOLS:%.ipdlh=%.cpp) \ $(NULL) GARBAGE += $(CPPSRCS) LOCAL_INCLUDES += -I$(DEPTH)/ipc/ipdl/_ipdlheaders include $(topsrcdir)/config/config.mk include $(topsrcdir)/ipc/chromium/chromium-config.mk include $(topsrcdir)/config/rules.mk # NB: the IPDL compiler manages .ipdl-->.h/.cpp dependencies itself, # which is why we don't have explicit .h/.cpp targets here export:: $(ALL_IPDLSRCS) $(PYTHON) $(topsrcdir)/config/pythonpath.py \ $(PLY_INCLUDE) \ $(srcdir)/ipdl.py \ --outheaders-dir=_ipdlheaders \ --outcpp-dir=. \ $(IPDLDIRS:%=-I$(topsrcdir)/%) \ $^ # We #include some things in the dom/plugins/ directory that rely on # toolkit libraries. CXXFLAGS += $(TK_CFLAGS)