Bug 926906 - Kill core_abspath, core_realpath and core_winabspath. r=gps

This commit is contained in:
Mike Hommey 2013-10-17 07:55:16 +09:00
parent 17abe59d90
commit 6aeae2f437
23 changed files with 54 additions and 58 deletions

View File

@ -3,7 +3,7 @@
# 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/.
DISTROEXT = $(call core_abspath,$(FINAL_TARGET))/distribution/extensions
DISTROEXT = $(abspath $(FINAL_TARGET))/distribution/extensions
include $(topsrcdir)/config/config.mk
@ -34,7 +34,7 @@ include $(topsrcdir)/config/rules.mk
$(all_xpis): $(DISTROEXT)/%.xpi: $(call mkdir_deps,$(DISTROEXT)) libs-%
cd $* && \
$(ZIP) -r9XD $@ * -x \*.in -x \*.mkdir.done
cd $(call core_abspath,$(srcdir)/$*) && \
cd $(abspath $(srcdir)/$*) && \
$(ZIP) -r9XD $@ * -x \*.in -x \*.mkdir.done
.PHONY: $(all_xpis:.xpi=)

View File

@ -5,7 +5,7 @@
include $(topsrcdir)/config/config.mk
abs_srcdir = $(call core_abspath,$(srcdir))
abs_srcdir = $(abspath $(srcdir))
CHROME_DEPS += $(abs_srcdir)/content/overrides/app-license.html

View File

@ -8,7 +8,7 @@ browser_path := \"$(browser_path)\"
_PROFILE_DIR = $(TARGET_DEPTH)/_profile/pgo
ABSOLUTE_TOPSRCDIR = $(call core_abspath,$(MOZILLA_DIR))
ABSOLUTE_TOPSRCDIR = $(abspath $(MOZILLA_DIR))
_CERTS_SRC_DIR = $(ABSOLUTE_TOPSRCDIR)/build/pgo/certs
AUTOMATION_PPARGS = \

View File

@ -19,14 +19,12 @@ topsrcdir = $(TOPSRCDIR)
DEPTH = $(OBJDIR)
include $(OBJDIR)/config/autoconf.mk
core_abspath = $(if $(filter /%,$(1)),$(1),$(CURDIR)/$(1))
DIST = $(OBJDIR)/dist
postflight_all:
mkdir -p $(DIST_UNI)/$(MOZ_PKG_APPNAME)
rm -f $(DIST_ARCH_2)/universal
ln -s $(call core_abspath,$(DIST_UNI)) $(DIST_ARCH_2)/universal
ln -s $(abspath $(DIST_UNI)) $(DIST_ARCH_2)/universal
# Stage a package for buildsymbols to be happy. Doing so in OBJDIR_ARCH_1
# actually does a universal staging with both OBJDIR_ARCH_1 and OBJDIR_ARCH_2.
$(MAKE) -C $(OBJDIR_ARCH_1)/$(MOZ_BUILD_APP)/installer \

View File

@ -13,7 +13,7 @@ ifndef JAVA_CLASSPATH
endif
# DEBUG_JARSIGNER always debug signs.
DEBUG_JARSIGNER=$(PYTHON) $(call core_abspath,$(topsrcdir)/mobile/android/debug_sign_tool.py) \
DEBUG_JARSIGNER=$(PYTHON) $(abspath $(topsrcdir)/mobile/android/debug_sign_tool.py) \
--keytool=$(KEYTOOL) \
--jarsigner=$(JARSIGNER) \
$(NULL)

View File

@ -632,7 +632,7 @@ endif
PWD := $(CURDIR)
endif
NSINSTALL_PY := $(PYTHON) $(call core_abspath,$(topsrcdir)/config/nsinstall.py)
NSINSTALL_PY := $(PYTHON) $(abspath $(topsrcdir)/config/nsinstall.py)
# For Pymake, wherever we use nsinstall.py we're also going to try to make it
# a native command where possible. Since native commands can't be used outside
# of single-line commands, we continue to provide INSTALL for general use.
@ -691,7 +691,7 @@ else
IS_LANGUAGE_REPACK = 1
endif
EXPAND_LOCALE_SRCDIR = $(if $(filter en-US,$(AB_CD)),$(topsrcdir)/$(1)/en-US,$(call core_realpath,$(L10NBASEDIR))/$(AB_CD)/$(subst /locales,,$(1)))
EXPAND_LOCALE_SRCDIR = $(if $(filter en-US,$(AB_CD)),$(topsrcdir)/$(1)/en-US,$(or $(realpath $(L10NBASEDIR)),$(abspath $(L10NBASEDIR)))/$(AB_CD)/$(subst /locales,,$(1)))
ifdef relativesrcdir
LOCALE_SRCDIR ?= $(call EXPAND_LOCALE_SRCDIR,$(relativesrcdir))
@ -742,7 +742,7 @@ ifdef MOZ_DEBUG
JAVAC_FLAGS += -g
endif
CREATE_PRECOMPLETE_CMD = $(PYTHON) $(call core_abspath,$(topsrcdir)/config/createprecomplete.py)
CREATE_PRECOMPLETE_CMD = $(PYTHON) $(abspath $(topsrcdir)/config/createprecomplete.py)
# MDDEPDIR is the subdirectory where dependency files are stored
MDDEPDIR := .deps

View File

@ -16,7 +16,7 @@ $(error Do not include functions.mk twice!)
endif
INCLUDED_FUNCTIONS_MK = 1
core_abspath = $(if $(findstring :,$(1)),$(1),$(if $(filter /%,$(1)),$(1),$(CURDIR)/$(1)))
core_realpath = $(if $(realpath $(1)),$(realpath $(1)),$(call core_abspath,$(1)))
core_abspath = $(error core_abspath is unsupported, use $$(abspath) instead)
core_realpath = $(error core_realpath is unsupported)
core_winabspath = $(firstword $(subst /, ,$(call core_abspath,$(1)))):$(subst $(space),,$(patsubst %,\\%,$(wordlist 2,$(words $(subst /, ,$(call core_abspath,$(1)))), $(strip $(subst /, ,$(call core_abspath,$(1)))))))
core_winabspath = $(error core_winabspath is unsupported)

View File

@ -13,7 +13,7 @@ $(error config/nspr/Makefile.in is not compatible with MOZ_NATIVE_NSPR)
endif
# Copy NSPR to the SDK
ABS_DIST = $(call core_abspath,$(DIST))
ABS_DIST = $(abspath $(DIST))
ifdef MOZ_FOLD_LIBS
# Trick the nspr build system into not building shared libraries.

View File

@ -632,7 +632,7 @@ endif
PWD := $(CURDIR)
endif
NSINSTALL_PY := $(PYTHON) $(call core_abspath,$(topsrcdir)/config/nsinstall.py)
NSINSTALL_PY := $(PYTHON) $(abspath $(topsrcdir)/config/nsinstall.py)
# For Pymake, wherever we use nsinstall.py we're also going to try to make it
# a native command where possible. Since native commands can't be used outside
# of single-line commands, we continue to provide INSTALL for general use.
@ -691,7 +691,7 @@ else
IS_LANGUAGE_REPACK = 1
endif
EXPAND_LOCALE_SRCDIR = $(if $(filter en-US,$(AB_CD)),$(topsrcdir)/$(1)/en-US,$(call core_realpath,$(L10NBASEDIR))/$(AB_CD)/$(subst /locales,,$(1)))
EXPAND_LOCALE_SRCDIR = $(if $(filter en-US,$(AB_CD)),$(topsrcdir)/$(1)/en-US,$(or $(realpath $(L10NBASEDIR)),$(abspath $(L10NBASEDIR)))/$(AB_CD)/$(subst /locales,,$(1)))
ifdef relativesrcdir
LOCALE_SRCDIR ?= $(call EXPAND_LOCALE_SRCDIR,$(relativesrcdir))
@ -742,7 +742,7 @@ ifdef MOZ_DEBUG
JAVAC_FLAGS += -g
endif
CREATE_PRECOMPLETE_CMD = $(PYTHON) $(call core_abspath,$(topsrcdir)/config/createprecomplete.py)
CREATE_PRECOMPLETE_CMD = $(PYTHON) $(abspath $(topsrcdir)/config/createprecomplete.py)
# MDDEPDIR is the subdirectory where dependency files are stored
MDDEPDIR := .deps

View File

@ -16,7 +16,7 @@ $(error Do not include functions.mk twice!)
endif
INCLUDED_FUNCTIONS_MK = 1
core_abspath = $(if $(findstring :,$(1)),$(1),$(if $(filter /%,$(1)),$(1),$(CURDIR)/$(1)))
core_realpath = $(if $(realpath $(1)),$(realpath $(1)),$(call core_abspath,$(1)))
core_abspath = $(error core_abspath is unsupported, use $$(abspath) instead)
core_realpath = $(error core_realpath is unsupported)
core_winabspath = $(firstword $(subst /, ,$(call core_abspath,$(1)))):$(subst $(space),,$(patsubst %,\\%,$(wordlist 2,$(words $(subst /, ,$(call core_abspath,$(1)))), $(strip $(subst /, ,$(call core_abspath,$(1)))))))
core_winabspath = $(error core_winabspath is unsupported)

View File

@ -8,12 +8,12 @@ include $(topsrcdir)/config/config.mk
# http://code.google.com/p/android/issues/detail?id=3639
AB_rCD = $(if $(filter he, $(AB_CD)),iw,$(if $(filter id, $(AB_CD)),in,$(subst -,-r,$(AB_CD))))
SYNCSTRINGSPATH = $(call core_abspath,$(call MERGE_FILE,sync_strings.dtd))
STRINGSPATH = $(call core_abspath,$(call MERGE_FILE,android_strings.dtd))
SYNCSTRINGSPATH = $(abspath $(call MERGE_FILE,sync_strings.dtd))
STRINGSPATH = $(abspath $(call MERGE_FILE,android_strings.dtd))
ifeq (,$(XPI_NAME))
BRANDPATH = $(call core_abspath,$(DEPTH)/dist/bin/chrome/$(AB_CD)/locale/branding/brand.dtd)
BRANDPATH = $(abspath $(DEPTH)/dist/bin/chrome/$(AB_CD)/locale/branding/brand.dtd)
else
BRANDPATH = $(call core_abspath,$(DIST)/xpi-stage/$(XPI_NAME)/chrome/$(AB_CD)/locale/branding/brand.dtd)
BRANDPATH = $(abspath $(DIST)/xpi-stage/$(XPI_NAME)/chrome/$(AB_CD)/locale/branding/brand.dtd)
endif
$(warnIfEmpty,AB_CD) # todo: $(errorIfEmpty )
@ -32,7 +32,7 @@ chrome-%::
@$(MAKE) $(dir-res-values)-$(AB_rCD)/strings.xml AB_CD=$*
# setup the path to bookmarks.inc. copied and tweaked version of MERGE_FILE from config/config.mk
MOBILE_LOCALE_SRCDIR = $(if $(filter en-US,$(AB_CD)),$(topsrcdir)/mobile/locales/en-US,$(call core_realpath,$(L10NBASEDIR))/$(AB_CD)/mobile)
MOBILE_LOCALE_SRCDIR = $(if $(filter en-US,$(AB_CD)),$(topsrcdir)/mobile/locales/en-US,$(or $(realpath $(L10NBASEDIR)),$(abspath $(L10NBASEDIR)))/$(AB_CD)/mobile)
ifdef LOCALE_MERGEDIR
BOOKMARKSPATH = $(firstword \
@ -40,7 +40,7 @@ BOOKMARKSPATH = $(firstword \
$(wildcard $(MOBILE_LOCALE_SRCDIR)/profile/bookmarks.inc ) \
$(topsrcdir)/mobile/locales/en-US/profile/bookmarks.inc )
else
BOOKMARKSPATH = $(call core_abspath,$(MOBILE_LOCALE_SRCDIR)/profile/bookmarks.inc)
BOOKMARKSPATH = $(abspath $(MOBILE_LOCALE_SRCDIR)/profile/bookmarks.inc)
endif
# Determine the ../res/values[-*]/ path

View File

@ -2,7 +2,7 @@
# 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/.
TESTROOT = $(call core_abspath,$(DEPTH))/_tests/xpcshell/$(relativesrcdir)
TESTROOT = $(abspath $(DEPTH))/_tests/xpcshell/$(relativesrcdir)
DEFINES += -DBIN_SUFFIX=$(BIN_SUFFIX)

View File

@ -87,7 +87,7 @@ NSS_EXTRA_DLLS += freebl_64int_3
NSS_EXTRA_DLLS += freebl_64fpu_3
endif
ABS_DIST := $(call core_abspath,$(DIST))
ABS_DIST := $(abspath $(DIST))
ifeq ($(HOST_OS_ARCH),WINNT)
ifdef CYGDRIVE_MOUNT
ABS_DIST := $(shell cygpath -w $(ABS_DIST) | sed -e 's|\\|/|g')
@ -288,7 +288,7 @@ export::
cp -Rp $(topsrcdir)/security/coreconf $(NSS_SRCDIR)/security
cp -Rp $(topsrcdir)/security/dbm $(NSS_SRCDIR)/security
cp -Rp $(topsrcdir)/dbm $(NSS_SRCDIR)
(cd $(NSS_SRCDIR) && patch -p1 < $(call core_abspath,$(MOZ_NSS_PATCH)))
(cd $(NSS_SRCDIR) && patch -p1 < $(abspath $(MOZ_NSS_PATCH)))
else
NSS_SRCDIR = $(topsrcdir)
endif
@ -450,7 +450,7 @@ endif # MOZ_FOLD_LIBS
ifeq ($(NSINSTALL_PY),$(NSINSTALL))
DEFAULT_GMAKE_FLAGS += PYTHON='$(PYTHON)'
DEFAULT_GMAKE_FLAGS += NSINSTALL_PY='$(call core_abspath,$(topsrcdir)/config/nsinstall.py)'
DEFAULT_GMAKE_FLAGS += NSINSTALL_PY='$(abspath $(topsrcdir)/config/nsinstall.py)'
DEFAULT_GMAKE_FLAGS += NSINSTALL='$$(PYTHON) $$(NSINSTALL_PY)'
else
DEFAULT_GMAKE_FLAGS += NSINSTALL='$(NSINSTALL)'

View File

@ -34,15 +34,15 @@ RUN_MOCHITEST_B2G_DESKTOP = \
$(PYTHON) _tests/testing/mochitest/runtestsb2g.py --autorun --close-when-done \
--console-level=INFO --log-file=./$@.log --file-level=INFO \
--desktop --profile ${GAIA_PROFILE_DIR} \
--failure-file=$(call core_abspath,_tests/testing/mochitest/makefailures.json) \
--failure-file=$(abspath _tests/testing/mochitest/makefailures.json) \
$(TEST_PATH_ARG) $(EXTRA_TEST_ARGS)
RUN_MOCHITEST = \
rm -f ./$@.log && \
$(PYTHON) _tests/testing/mochitest/runtests.py --autorun --close-when-done \
--console-level=INFO --log-file=./$@.log --file-level=INFO \
--failure-file=$(call core_abspath,_tests/testing/mochitest/makefailures.json) \
--testing-modules-dir=$(call core_abspath,_tests/modules) \
--failure-file=$(abspath _tests/testing/mochitest/makefailures.json) \
--testing-modules-dir=$(abspath _tests/modules) \
--extra-profile-file=$(DIST)/plugins \
$(SYMBOLS_PATH) $(TEST_PATH_ARG) $(EXTRA_TEST_ARGS)
@ -51,7 +51,7 @@ RERUN_MOCHITEST = \
$(PYTHON) _tests/testing/mochitest/runtests.py --autorun --close-when-done \
--console-level=INFO --log-file=./$@.log --file-level=INFO \
--run-only-tests=makefailures.json \
--testing-modules-dir=$(call core_abspath,_tests/modules) \
--testing-modules-dir=$(abspath _tests/modules) \
--extra-profile-file=$(DIST)/plugins \
$(SYMBOLS_PATH) $(TEST_PATH_ARG) $(EXTRA_TEST_ARGS)
@ -60,7 +60,7 @@ RUN_MOCHITEST_REMOTE = \
$(PYTHON) _tests/testing/mochitest/runtestsremote.py --autorun --close-when-done \
--console-level=INFO --log-file=./$@.log --file-level=INFO $(DM_FLAGS) --dm_trans=$(DM_TRANS) \
--app=$(TEST_PACKAGE_NAME) --deviceIP=${TEST_DEVICE} --xre-path=${MOZ_HOST_BIN} \
--testing-modules-dir=$(call core_abspath,_tests/modules) --httpd-path=. \
--testing-modules-dir=$(abspath _tests/modules) --httpd-path=. \
$(SYMBOLS_PATH) $(TEST_PATH_ARG) $(EXTRA_TEST_ARGS)
RUN_MOCHITEST_ROBOCOP = \
@ -287,9 +287,9 @@ xpcshell-tests:
--build-info-json=$(DEPTH)/mozinfo.json \
--no-logfiles \
--test-plugin-path="$(DIST)/plugins" \
--tests-root-dir=$(call core_abspath,_tests/xpcshell) \
--testing-modules-dir=$(call core_abspath,_tests/modules) \
--xunit-file=$(call core_abspath,_tests/xpcshell/results.xml) \
--tests-root-dir=$(abspath _tests/xpcshell) \
--testing-modules-dir=$(abspath _tests/modules) \
--xunit-file=$(abspath _tests/xpcshell/results.xml) \
--xunit-suite-name=xpcshell \
$(SYMBOLS_PATH) \
$(TEST_PATH_ARG) $(EXTRA_TEST_ARGS) \
@ -334,7 +334,7 @@ xpcshell-tests-remote:
--manifest=$(DEPTH)/_tests/xpcshell/xpcshell_android.ini \
--build-info-json=$(DEPTH)/mozinfo.json \
--no-logfiles \
--testing-modules-dir=$(call core_abspath,_tests/modules) \
--testing-modules-dir=$(abspath _tests/modules) \
--dm_trans=$(DM_TRANS) \
--deviceIP=${TEST_DEVICE} \
--objdir=$(DEPTH) \
@ -423,7 +423,7 @@ else
endif
find $(PKG_STAGE) -name "*.pyc" -exec rm {} \;
cd $(PKG_STAGE) && \
zip -rq9D "$(call core_abspath,$(DIST)/$(PKG_PATH)$(TEST_PACKAGE))" \
zip -rq9D "$(abspath $(DIST)/$(PKG_PATH)$(TEST_PACKAGE))" \
* -x \*/.mkdir.done
ifeq ($(MOZ_WIDGET_TOOLKIT),android)

View File

@ -6,7 +6,7 @@
MOZILLA_INTERNAL_API = 1
include $(topsrcdir)/config/rules.mk
ABS_SRCDIR := $(call core_abspath,$(srcdir))
ABS_SRCDIR := $(abspath $(srcdir))
ifeq ($(OS_ARCH),WINNT)
check::

View File

@ -34,8 +34,6 @@ run_for_effects := $(shell if test ! -d $(DIST); then $(NSINSTALL) -D $(DIST); f
AB = $(firstword $(subst -, ,$(AB_CD)))
core_abspath = $(if $(findstring :,$(1)),$(1),$(if $(filter /%,$(1)),$(1),$(CURDIR)/$(1)))
# These are defaulted to be compatible with the files the wget-en-US target
# pulls. You may override them if you provide your own files. You _must_
# override them when MOZ_PKG_PRETTYNAMES is defined - the defaults will not
@ -51,7 +49,7 @@ DEFINES += \
-DMOZ_LANGPACK_EID=$(MOZ_LANGPACK_EID) \
-DMOZ_APP_VERSION=$(MOZ_APP_VERSION) \
-DMOZ_APP_MAXVERSION=$(MOZ_APP_MAXVERSION) \
-DLOCALE_SRCDIR=$(call core_abspath,$(LOCALE_SRCDIR)) \
-DLOCALE_SRCDIR=$(abspath $(LOCALE_SRCDIR)) \
-DPKG_BASENAME="$(PKG_BASENAME)" \
-DPKG_INST_BASENAME="$(PKG_INST_BASENAME)" \
$(NULL)

View File

@ -100,8 +100,8 @@ endif # MOZ_NATIVE_NSPR
MAKE_JSSHELL = $(ZIP) -9j $(PKG_JSSHELL) $(JSSHELL_BINS)
endif # LIBXUL_SDK
_ABS_DIST = $(call core_abspath,$(DIST))
JARLOG_DIR = $(call core_abspath,$(DEPTH)/jarlog/)
_ABS_DIST = $(abspath $(DIST))
JARLOG_DIR = $(abspath $(DEPTH)/jarlog/)
JARLOG_FILE_AB_CD = $(JARLOG_DIR)/$(AB_CD).log
TAR_CREATE_FLAGS := --exclude=.mkdir.done $(TAR_CREATE_FLAGS)
@ -324,7 +324,7 @@ ABI_DIR = armeabi
endif
endif
GECKO_APP_AP_PATH = $(call core_abspath,$(DEPTH)/mobile/android/base)
GECKO_APP_AP_PATH = $(abspath $(DEPTH)/mobile/android/base)
ifdef ENABLE_TESTS
INNER_ROBOCOP_PACKAGE=echo
@ -346,12 +346,12 @@ RELEASE_SIGN_ANDROID_APK = \
$(ZIPALIGN) -f -v 4 $(2)-unaligned.apk $(2) && \
$(RM) $(2)-unaligned.apk
ROBOCOP_PATH = $(call core_abspath,$(_ABS_DIST)/../build/mobile/robocop)
ROBOCOP_PATH = $(abspath $(_ABS_DIST)/../build/mobile/robocop)
INNER_ROBOCOP_PACKAGE= \
$(NSINSTALL) $(GECKO_APP_AP_PATH)/fennec_ids.txt $(_ABS_DIST) && \
$(call RELEASE_SIGN_ANDROID_APK,$(ROBOCOP_PATH)/robocop-debug-unsigned-unaligned.apk,$(_ABS_DIST)/robocop.apk)
BACKGROUND_TESTS_PATH = $(call core_abspath,$(_ABS_DIST)/../mobile/android/tests/background/junit3)
BACKGROUND_TESTS_PATH = $(abspath $(_ABS_DIST)/../mobile/android/tests/background/junit3)
INNER_BACKGROUND_TESTS_PACKAGE= \
$(call RELEASE_SIGN_ANDROID_APK,$(BACKGROUND_TESTS_PATH)/background-debug-unsigned-unaligned.apk,$(_ABS_DIST)/background.apk)
endif

View File

@ -2,7 +2,7 @@
# 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/.
TESTROOT = $(call core_abspath,$(DEPTH))/_tests/xpcshell/$(relativesrcdir)
TESTROOT = $(abspath $(DEPTH))/_tests/xpcshell/$(relativesrcdir)
DEFINES += \
-DAB_CD=$(AB_CD) \

View File

@ -2,7 +2,7 @@
# 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/.
TESTROOT = $(call core_abspath,$(DEPTH))/_tests/xpcshell/$(relativesrcdir)
TESTROOT = $(abspath $(DEPTH))/_tests/xpcshell/$(relativesrcdir)
DEFINES += \
-DAB_CD=$(AB_CD) \

View File

@ -13,7 +13,7 @@ LIBS += \
include $(topsrcdir)/config/rules.mk
ifdef MOZ_WIDGET_GTK
export PERSONAL_MAILCAP=$(call core_abspath,$(srcdir))/mailcap
export PERSONAL_MAILCAP=$(abspath $(srcdir))/mailcap
endif
# need the executable for running the xpcshell unit tests

View File

@ -23,7 +23,7 @@ $(NIB_DEST)/%: $(srcdir)/resources/MainMenu.nib/% $(NIB_DEST)
$(INSTALL) $< $(NIB_DEST)
# for objdir builds, symlink the cursors dir
ABS_topsrcdir := $(call core_abspath,$(topsrcdir))
ABS_topsrcdir := $(abspath $(topsrcdir))
ifneq ($(ABS_topsrcdir),$(MOZ_BUILD_ROOT))
export::
ln -fs $(srcdir)/cursors

View File

@ -39,7 +39,7 @@ else
getnativepath = $(1)
endif
abs_srcdir = $(call core_abspath,$(srcdir))
abs_srcdir = $(abspath $(srcdir))
regOrderDir="$(call getnativepath,$(abs_srcdir)/regorder)";

View File

@ -2,9 +2,9 @@
# 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/.
CONFIG_DIR=$(call core_abspath,$(srcdir))
OBJ_DIR=$(call core_abspath,$(DEPTH))
SRC_DIR=$(call core_abspath,$(topsrcdir))
CONFIG_DIR=$(abspath $(srcdir))
OBJ_DIR=$(abspath $(DEPTH))
SRC_DIR=$(abspath $(topsrcdir))
include $(topsrcdir)/config/rules.mk