gecko-dev/xpcom/base/Makefile.in

180 lines
3.8 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/.
DEPTH = @DEPTH@
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
MODULE = xpcom
XPIDL_MODULE = xpcom_base
LIBRARY_NAME = xpcombase_s
GRE_MODULE = 1
MOZILLA_INTERNAL_API =1
LIBXUL_LIBRARY = 1
# TODO: we do this in crashreporter and storage/src too, should be centralized
ifeq ($(OS_ARCH),Linux)
DEFINES += -DXP_LINUX
endif
CPPSRCS = \
nsVersionComparatorImpl.cpp \
nsConsoleMessage.cpp \
nsConsoleService.cpp \
nsDebugImpl.cpp \
nsErrorService.cpp \
nsExceptionService.cpp \
nsMemoryImpl.cpp \
nsTraceRefcntImpl.cpp \
nsInterfaceRequestorAgg.cpp \
nsUUIDGenerator.cpp \
nsSystemInfo.cpp \
nsCycleCollector.cpp \
nsStackWalk.cpp \
nsMemoryReporterManager.cpp \
ClearOnShutdown.cpp \
VisualEventTracer.cpp \
nsErrorAsserts.cpp \
nsGZFileWriter.cpp \
nsMemoryInfoDumper.cpp \
nsMessageLoop.cpp \
AvailableMemoryTracker.cpp \
$(NULL)
ifeq ($(OS_ARCH),Linux)
CPPSRCS += MapsMemoryReporter.cpp
endif
ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
CPPSRCS += nsMacUtilsImpl.cpp
endif
EXPORTS = \
nsAgg.h \
nsAutoRef.h \
nsCom.h \
nsDebugImpl.h \
nsIAllocator.h \
nsIID.h \
nsISizeOf.h \
nsISupportsObsolete.h \
nsStackWalk.h \
nsTraceRefcntImpl.h \
nsWeakPtr.h \
nsInterfaceRequestorAgg.h \
nsGZFileWriter.h \
$(NULL)
EXPORTS_NAMESPACES = mozilla
EXPORTS_mozilla = \
MapsMemoryReporter.h \
nsMemoryInfoDumper.h \
ClearOnShutdown.h \
StaticPtr.h \
AvailableMemoryTracker.h \
StackWalk.h \
VisualEventTracer.h \
$(NULL)
ifeq (windows,$(MOZ_WIDGET_TOOLKIT))
CPPSRCS += nsCrashOnException.cpp
endif
ifeq ($(OS_ARCH),WINNT)
ifdef MOZ_DEBUG
CSRCS += pure_api.c
EXPORTS += pure.h
endif
endif #if OS_ARCH == WINNT
SDK_XPIDLSRCS = \
nsIDebug.idl \
nsIInterfaceRequestor.idl \
nsIMemory.idl \
nsIProgrammingLanguage.idl \
nsISupports.idl \
nsITraceRefcnt.idl \
nsIWeakReference.idl \
nsrootidl.idl
SDK_HEADERS = \
nsAutoPtr.h \
nsError.h \
ErrorList.h \
ErrorListCxxDefines.h \
ErrorListCDefines.h \
nsISupportsBase.h \
nscore.h \
nsAtomicRefcnt.h \
nsCycleCollector.h \
nsObjCExceptions.h \
ifeq ($(OS_ARCH),WINNT)
SDK_HEADERS += \
nsWindowsHelpers.h \
$(NULL)
endif
XPIDLSRCS = \
nsIConsoleListener.idl \
nsIConsoleMessage.idl \
nsIConsoleService.idl \
nsICycleCollectorListener.idl \
nsIDebug2.idl \
nsIErrorService.idl \
nsIException.idl \
nsIExceptionService.idl \
nsIVersionComparator.idl \
nsIUUIDGenerator.idl \
nsIMutable.idl \
nsIMemoryInfoDumper.idl \
nsIMemoryReporter.idl \
nsIGZFileWriter.idl \
nsIMessageLoop.idl \
$(NULL)
ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
XPIDLSRCS += nsIMacUtils.idl
endif
# we don't want the shared lib, but we want to force the creation of a static lib.
FORCE_STATIC_LIB = 1
include $(topsrcdir)/config/config.mk
include $(topsrcdir)/ipc/chromium/chromium-config.mk
include $(topsrcdir)/config/rules.mk
DEFINES += -D_IMPL_NS_COM
ifneq (,$(filter gtk2,$(MOZ_WIDGET_TOOLKIT)))
CXXFLAGS += $(MOZ_GTK2_CFLAGS)
endif
LOCAL_INCLUDES += \
-I$(srcdir)/../build \
-I$(topsrcdir)/xpcom/ds \
$(NULL)
# We generate ErrorListCxxDefines.h from ErrorList.h using regex. The -n option
# suppresses printing the pattern space, and the p at the end prints it anyway,
# so we don't print lines that don't match the pattern to start with.
ErrorListCxxDefines.h: ErrorList.h Makefile
sed -n 's/.*ERROR(\([A-Z_0-9]*\).*/#define \1 nsresult::\1/p' < $< > $@
ErrorListCDefines.h: ErrorList.h Makefile
sed 's/.*ERROR(\([A-Z_0-9]*\),\( *\)\(.*\))[^)]*/#define \1 \2((nsresult)(\3))/' < $< > $@
GARBAGE += \
ErrorListCxxDefines.h \
ErrorListCDefines.h \
$(NULL)