# See /LICENSE for more information.
#
--include $(TOPDIR)/.config
+ifeq ($(DUMP),)
+ -include $(TOPDIR)/.config
+endif
include $(TOPDIR)/include/verbose.mk
export SHELL=/usr/bin/env bash -c '. $(TOPDIR)/include/shell.sh; eval "$$2"' --
ARCH:=$(strip $(subst ",, $(CONFIG_ARCH)))
TARGET_OPTIMIZATION:=$(strip $(subst ",, $(CONFIG_TARGET_OPTIMIZATION)))
+BUILD_DIR_SUFFIX:=$(strip $(subst ",, $(CONFIG_BUILD_SUFFIX)))
WGET:=$(strip $(subst ",, $(CONFIG_WGET)))
#"))"))")) # fix vim's broken syntax highlighting
BIN_DIR:=$(TOPDIR)/bin
PACKAGE_DIR:=$(BIN_DIR)/packages
IPKG_TARGET_DIR:=$(PACKAGE_DIR)
-BUILD_DIR:=$(TOPDIR)/build_$(ARCH)
+BUILD_DIR:=$(TOPDIR)/build_$(ARCH)$(BUILD_DIR_SUFFIX)
TMP_DIR:=$(TOPDIR)/tmp
STAMP_DIR:=$(BUILD_DIR)/stamp
TARGET_DIR:=$(BUILD_DIR)/root
IMAGE:=$(BUILD_DIR)/root_fs_$(ARCH)
TARGET_PATH:=$(STAGING_DIR)/usr/sbin:$(STAGING_DIR)/usr/bin:$(STAGING_DIR)/bin:$(PATH)
-TARGET_CFLAGS:=$(TARGET_OPTIMIZATION)
+TARGET_CFLAGS:=$(TARGET_OPTIMIZATION) -fhonour-copts
export PATH:=$(TARGET_PATH)
CXX=$(TARGET_CROSS)g++ \
RANLIB=$(TARGET_CROSS)ranlib \
STRIP=$(TARGET_CROSS)strip \
- OBJCOPY=$(TARGET_CROSS)objcopy
+ OBJCOPY=$(TARGET_CROSS)objcopy \
+ OBJDUMP=$(TARGET_CROSS)objdump \
+ SIZE=$(TARGET_CROSS)size
# strip an entire directory
RSTRIP:= \
export $(call shvar,$(1))
endef
-# Default targets for subdirectory calls
-# Parameters:
-# 1: dependencies for the prepare step
-define default_subtargets
- %-download: FORCE
- $$(MAKE) -C $$(patsubst %-download,%,$$@) download
-
- %-prepare: $(1) FORCE
- $$(MAKE) -C $$(patsubst %-prepare,%,$$@) prepare
-
- %-compile: %-prepare
- $$(MAKE) -C $$(patsubst %-compile,%,$$@) compile
-
- %-install: %-compile
- $$(MAKE) -C $$(patsubst %-install,%,$$@) install
-
- %-clean: FORCE
- @$$(MAKE) -C $$(patsubst %-clean,%,$$@) clean
-endef
-
-
all:
FORCE: ;
.PHONY: FORCE
-%: ;