arch/parisc/Makefile

Source file repositories/reference/linux-study-clean/arch/parisc/Makefile

File Facts

System
Linux kernel
Corpus path
arch/parisc/Makefile
Extension
[no extension]
Size
6479 bytes
Lines
214
Domain
Architecture Layer
Bucket
arch/parisc
Inferred role
Architecture Layer: build/configuration rule
Status
atlas-only

Why This File Exists

CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.

Dependency Surface

Detected Declarations

Annotated Snippet

#
# parisc/Makefile
#
# This file is included by the global makefile so that you can add your own
# architecture-specific flags and dependencies.
#
# 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.
#
# Copyright (C) 1994 by Linus Torvalds
# Portions Copyright (C) 1999 The Puffin Group
#
# Modified for PA-RISC Linux by Paul Lahaie, Alex deVries,
# Mike Shaver, Helge Deller and Martin K. Petersen
#

boot := arch/parisc/boot
KBUILD_IMAGE := $(boot)/bzImage

CHECKFLAGS	+= -D__hppa__=1

ifdef CONFIG_64BIT
UTS_MACHINE	:= parisc64
CHECKFLAGS	+= -D__LP64__=1
LD_BFD		:= elf64-hppa-linux
else # 32-bit
LD_BFD		:= elf32-hppa-linux
endif

# select defconfig based on actual architecture
ifeq ($(ARCH),parisc64)
	KBUILD_DEFCONFIG := generic-64bit_defconfig
	CC_ARCHES := hppa64
else
	KBUILD_DEFCONFIG := generic-32bit_defconfig
	CC_ARCHES := hppa hppa2.0 hppa1.1
endif

export LD_BFD

# Set default 32 bits cross compilers for vdso.
# This means that for 64BIT, both the 64-bit tools and the 32-bit tools
# need to be in the path.
CC_ARCHES_32 = hppa hppa2.0 hppa1.1
CC_SUFFIXES  = linux linux-gnu unknown-linux-gnu suse-linux
CROSS32_COMPILE := $(call cc-cross-prefix, \
	$(foreach a,$(CC_ARCHES_32), \
	$(foreach s,$(CC_SUFFIXES),$(a)-$(s)-)))
CROSS32CC := $(CROSS32_COMPILE)gcc
export CROSS32CC

# Set default cross compiler for kernel build
ifdef cross_compiling
    ifeq ($(CROSS_COMPILE),)
		CC_SUFFIXES = linux linux-gnu unknown-linux-gnu suse-linux
		CROSS_COMPILE := $(call cc-cross-prefix, \
			$(foreach a,$(CC_ARCHES), \
			$(foreach s,$(CC_SUFFIXES),$(a)-$(s)-)))
    endif
endif

ifdef CONFIG_DYNAMIC_FTRACE
ifdef CONFIG_64BIT
NOP_COUNT := 8
else
NOP_COUNT := 5
endif

export CC_USING_RECORD_MCOUNT:=1

Annotation

Implementation Notes