| # | |
| # This file is subject to the terms and conditions of the GNU General Public | |
| # License. See the file "COPYING" in the main directory of this archive | |
| # for more details. | |
| # | |
| # This file is included by the global makefile so that you can add your own | |
| # architecture-specific flags and dependencies. Remember to do have actions | |
| # for "archclean" and "archdep" for cleaning up and making dependencies for | |
| # this architecture | |
| # If building with TILERA_ROOT set (i.e. using the Tilera Multicore | |
| # Development Environment) we can set CROSS_COMPILE based on that. | |
| # If we're not cross-compiling, make sure we're on the right architecture. | |
| # Only bother to test for a few common targets, to avoid useless errors. | |
| ifeq ($(CROSS_COMPILE),) | |
| ifdef TILERA_ROOT | |
| CROSS_COMPILE := $(TILERA_ROOT)/bin/tile- | |
| else | |
| goals := $(if $(MAKECMDGOALS), $(MAKECMDGOALS), all) | |
| ifneq ($(strip $(filter vmlinux modules all,$(goals))),) | |
| HOST_ARCH := $(shell uname -m) | |
| ifneq ($(HOST_ARCH),$(ARCH)) | |
| $(error Set TILERA_ROOT or CROSS_COMPILE when building $(ARCH) on $(HOST_ARCH)) | |
| endif | |
| endif | |
| endif | |
| endif | |
| # The tile compiler may emit .eh_frame information for backtracing. | |
| # In kernel modules, this causes load failures due to unsupported relocations. | |
| KBUILD_CFLAGS += -fno-asynchronous-unwind-tables | |
| LIBGCC_PATH := \ | |
| $(shell $(CC) $(KBUILD_CFLAGS) $(KCFLAGS) -print-libgcc-file-name) | |
| # Provide the path to use for "make defconfig". | |
| # We default to the newer TILE-Gx architecture if only "tile" is given. | |
| ifeq ($(ARCH),tile) | |
| KBUILD_DEFCONFIG := tilegx_defconfig | |
| else | |
| KBUILD_DEFCONFIG := $(ARCH)_defconfig | |
| endif | |
| # Used as a file extension when useful, e.g. head_$(BITS).o | |
| # Not needed for (e.g.) "$(CC) -m32" since the compiler automatically | |
| # uses the right default anyway. | |
| export BITS | |
| ifeq ($(CONFIG_TILEGX),y) | |
| BITS := 64 | |
| else | |
| BITS := 32 | |
| endif | |
| head-y := arch/tile/kernel/head_$(BITS).o | |
| libs-y += arch/tile/lib/ | |
| libs-y += $(LIBGCC_PATH) | |
| # See arch/tile/Kbuild for content of core part of the kernel | |
| core-y += arch/tile/ | |
| core-$(CONFIG_TILE_GXIO) += arch/tile/gxio/ | |
| ifdef TILERA_ROOT | |
| INSTALL_PATH ?= $(TILERA_ROOT)/tile/boot | |
| endif | |
| install: | |
| install -D -m 755 vmlinux $(INSTALL_PATH)/vmlinux-$(KERNELRELEASE) | |
| install -D -m 644 .config $(INSTALL_PATH)/config-$(KERNELRELEASE) | |
| install -D -m 644 System.map $(INSTALL_PATH)/System.map-$(KERNELRELEASE) | |
| define archhelp | |
| echo ' install - install kernel into $(INSTALL_PATH)' | |
| endef |