ipc/ipdl/Makefile.in
author Ehsan Akhgari <ehsan@mozilla.com>
Fri, 30 Sep 2011 10:13:25 -0400
changeset 77911 743ed92f9332
parent 72256 4a894d4dc4da
permissions -rw-r--r--
Merge the last green changeset of mozilla-inbound into mozilla-central
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Firefox.
#
# The Initial Developer of the Original Code is
# The Mozilla Foundation <http://www.mozilla.org/>.
# Portions created by the Initial Developer are Copyright (C) 2009
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****

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/plugins/ipc  \
  dom/ipc  \
  dom/src/storage \
  gfx/layers/ipc \
  ipc/testshell  \
  js/ipc  \
  js/jetpack \
  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)

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)			\
  $(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	\
	  -I$(topsrcdir)/other-licenses/ply		\
	  $(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)