1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/build/Makefile.in Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,145 @@ 1.4 +# 1.5 +# This Source Code Form is subject to the terms of the Mozilla Public 1.6 +# License, v. 2.0. If a copy of the MPL was not distributed with this 1.7 +# file, You can obtain one at http://mozilla.org/MPL/2.0/. 1.8 + 1.9 +USE_RCS_MK := 1 1.10 +include $(topsrcdir)/config/makefiles/makeutils.mk 1.11 + 1.12 +ifdef MOZ_APP_BASENAME 1.13 +DIST_FILES = $(srcdir)/application.ini 1.14 + 1.15 +ifneq (android,$(MOZ_WIDGET_TOOLKIT)) 1.16 +ifdef MOZ_UPDATER 1.17 +DIST_FILES += update-settings.ini 1.18 +endif 1.19 +endif 1.20 + 1.21 +ifdef LIBXUL_SDK 1.22 +APP_INI_DEPS = $(LIBXUL_DIST)/bin/platform.ini 1.23 +else 1.24 +APP_INI_DEPS = $(topsrcdir)/config/milestone.txt 1.25 +endif 1.26 + 1.27 +APP_BUILDID := $(shell cat $(DEPTH)/config/buildid) 1.28 +APP_INI_DEPS += $(DEPTH)/config/buildid 1.29 + 1.30 +DEFINES += -DAPP_BUILDID=$(APP_BUILDID) 1.31 + 1.32 +APP_INI_DEPS += $(DEPTH)/config/autoconf.mk 1.33 + 1.34 +MOZ_SOURCE_STAMP := $(firstword $(shell cd $(topsrcdir)/$(MOZ_BUILD_APP)/.. && hg parent --template='{node|short}\n' 2>/dev/null)) 1.35 +ifdef MOZ_SOURCE_STAMP 1.36 +DEFINES += -DMOZ_SOURCE_STAMP='$(MOZ_SOURCE_STAMP)' 1.37 +endif 1.38 + 1.39 +source_repo ?= $(call getSourceRepo,$(topsrcdir)/$(MOZ_BUILD_APP)/..) 1.40 +ifneq (,$(source_repo)) 1.41 + DEFINES += -DMOZ_SOURCE_REPO='$(source_repo)' 1.42 +endif 1.43 + 1.44 +endif 1.45 + 1.46 +# Put a useful .gdbinit in the bin directory, to be picked up automatically 1.47 +# by GDB when we debug executables there. 1.48 +# NOTE: Keep .gdbinit in the topsrcdir for people who run gdb from the topsrcdir. 1.49 +GDBINIT_FILES := $(topsrcdir)/.gdbinit 1.50 +GDBINIT_OBJDIR_FILES = $(topsrcdir)/.gdbinit 1.51 +GDBINIT_DEST = $(FINAL_TARGET) 1.52 + 1.53 +# needs to be absolute to be distinct from $(topsrcdir)/.gdbinit 1.54 +GDBINIT_OBJDIR_DEST = $(abspath $(DEPTH)) 1.55 +INSTALL_TARGETS += GDBINIT GDBINIT_OBJDIR 1.56 + 1.57 +# Put a .lldbinit in the bin directory and the objdir, to be picked up 1.58 +# automatically by LLDB when we debug executables using either of those two 1.59 +# directories as the current working directory. The .lldbinit file will 1.60 +# load $(topsrcdir)/.lldbinit, which is where the actual debugging commands are. 1.61 +LLDBINIT_OBJDIR := .lldbinit.in 1.62 +LLDBINIT_OBJDIR_PATH = $(DEPTH) 1.63 +LLDBINIT_OBJDIR_FLAGS += -Dtopsrcdir=$(abspath $(topsrcdir)) 1.64 +PP_TARGETS += LLDBINIT_OBJDIR 1.65 + 1.66 +LLDBINIT_FINAL_TARGET_FILES := $(DEPTH)/.lldbinit 1.67 +LLDBINIT_FINAL_TARGET_DEST = $(FINAL_TARGET) 1.68 +INSTALL_TARGETS += LLDBINIT_FINAL_TARGET 1.69 + 1.70 +include $(topsrcdir)/config/rules.mk 1.71 + 1.72 +# we install to _leaktest/ 1.73 +TARGET_DEPTH = .. 1.74 +include $(srcdir)/automation-build.mk 1.75 + 1.76 +_LEAKTEST_DIR = $(DEPTH)/_leaktest 1.77 + 1.78 +_LEAKTEST_FILES = \ 1.79 + automation.py \ 1.80 + automationutils.py \ 1.81 + $(topsrcdir)/testing/profiles/prefs_general.js \ 1.82 + leaktest.py \ 1.83 + bloatcycle.html \ 1.84 + $(topsrcdir)/build/pgo/server-locations.txt \ 1.85 + $(topsrcdir)/build/pgo/favicon.ico \ 1.86 + $(topsrcdir)/build/pgo/blueprint/sample.html \ 1.87 + $(topsrcdir)/build/pgo/blueprint/elements.html \ 1.88 + $(topsrcdir)/build/pgo/blueprint/forms.html \ 1.89 + $(topsrcdir)/build/pgo/blueprint/grid.html \ 1.90 + $(topsrcdir)/build/pgo/blueprint/test.jpg \ 1.91 + $(topsrcdir)/build/pgo/blueprint/test-small.jpg \ 1.92 + $(topsrcdir)/build/pgo/blueprint/valid.png \ 1.93 + $(topsrcdir)/build/pgo/blueprint/screen.css \ 1.94 + $(topsrcdir)/build/pgo/blueprint/print.css \ 1.95 + $(topsrcdir)/build/pgo/blueprint/grid.png \ 1.96 + $(topsrcdir)/build/pgo/blueprint/fancytype-screen.css \ 1.97 + $(NULL) 1.98 + 1.99 +leaktest.py: leaktest.py.in 1.100 + $(call py_action,preprocessor,$^ -o $@) 1.101 + chmod +x $@ 1.102 +GARBAGE += leaktest.py 1.103 + 1.104 +ifdef MOZ_APP_BASENAME 1.105 +$(FINAL_TARGET)/application.ini: $(APP_INI_DEPS) 1.106 + 1.107 +ifdef MOZ_APP_STATIC_INI 1.108 +application.ini.h: appini_header.py $(FINAL_TARGET)/application.ini 1.109 + $(PYTHON) $^ > $@ 1.110 +export:: application.ini.h 1.111 +GARBAGE += application.ini.h 1.112 +endif 1.113 +endif 1.114 + 1.115 +libs:: $(_LEAKTEST_FILES) 1.116 + $(INSTALL) $^ $(_LEAKTEST_DIR) 1.117 + 1.118 +ifdef MOZ_VALGRIND 1.119 +_VALGRIND_DIR = $(DEPTH)/_valgrind 1.120 +GARBAGE_DIRS += $(_VALGRIND_DIR) 1.121 + 1.122 +_VALGRIND_FILES = \ 1.123 + $(topsrcdir)/build/valgrind/cross-architecture.sup \ 1.124 + $(topsrcdir)/build/valgrind/i386-redhat-linux-gnu.sup \ 1.125 + $(topsrcdir)/build/valgrind/x86_64-redhat-linux-gnu.sup \ 1.126 + $(NULL) 1.127 + 1.128 +libs:: $(_VALGRIND_FILES) 1.129 + $(INSTALL) $^ $(_VALGRIND_DIR) 1.130 +endif 1.131 + 1.132 +ifdef ENABLE_TESTS 1.133 +libs:: $(topsrcdir)/tools/rb/fix_stack_using_bpsyms.py 1.134 + $(INSTALL) $< $(DIST)/bin 1.135 + 1.136 +ifeq ($(OS_ARCH),Darwin) 1.137 +libs:: $(topsrcdir)/tools/rb/fix_macosx_stack.py 1.138 + $(INSTALL) $< $(DIST)/bin 1.139 +endif 1.140 + 1.141 +ifeq ($(OS_ARCH),Linux) 1.142 +libs:: $(topsrcdir)/tools/rb/fix-linux-stack.pl 1.143 + $(INSTALL) $< $(DIST)/bin 1.144 +endif 1.145 + 1.146 +GARBAGE += $(srcdir)/automationutils.pyc 1.147 + 1.148 +endif # ENABLE_TESTS