linux-yocto/arch/m68k/Makefile
Masahiro Yamada 8212f8986d kbuild: use more subdir- for visiting subdirectories while cleaning
Documentation/kbuild/makefiles.rst suggests to use "archclean" for
cleaning arch/$(SRCARCH)/boot/, but it is not a hard requirement.

Since commit d92cc4d516 ("kbuild: require all architectures to have
arch/$(SRCARCH)/Kbuild"), we can use the "subdir- += boot" trick for
all architectures. This can take advantage of the parallel option (-j)
for "make clean".

I also cleaned up the comments in arch/$(SRCARCH)/Makefile. The "archdep"
target no longer exists.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Michael Ellerman <mpe@ellerman.id.au> (powerpc)
2021-10-24 13:49:46 +09:00

4.2 KiB

m68k/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 Hamish Macdonald

Copyright (C) 2002,2011 Greg Ungerer gerg@snapgear.com

KBUILD_DEFCONFIG := multi_defconfig

ifdef cross_compiling ifeq ($(CROSS_COMPILE),) CROSS_COMPILE := $(call cc-cross-prefix,
m68k-linux-gnu- m68k-linux- m68k-unknown-linux-gnu-) endif endif

Enable processor type. Ordering of these is important - we want to

use the minimum processor type of the range we support. The logic

for 680x0 will only allow use of the -m68060 or -m68040 if no other

680x0 type is specified - and no option is specified for 68030 or

68020. The other m68k/ColdFire types always specify some type of

compiler cpu type flag.

ifndef CONFIG_M68040 cpuflags-$(CONFIG_M68060) = -m68060 endif ifndef CONFIG_M68060 cpuflags-$(CONFIG_M68040) = -m68040 endif cpuflags-$(CONFIG_M68030) = cpuflags-$(CONFIG_M68020) = cpuflags-$(CONFIG_M68000) = -m68000 cpuflags-$(CONFIG_M5441x) = $(call cc-option,-mcpu=54455,-mcfv4e) cpuflags-$(CONFIG_M54xx) = $(call cc-option,-mcpu=5475,-m5200) cpuflags-$(CONFIG_M5407) = $(call cc-option,-mcpu=5407,-m5200) cpuflags-$(CONFIG_M532x) = $(call cc-option,-mcpu=532x,-m5307) cpuflags-$(CONFIG_M537x) = $(call cc-option,-mcpu=537x,-m5307) cpuflags-$(CONFIG_M5307) = $(call cc-option,-mcpu=5307,-m5200) cpuflags-$(CONFIG_M528x) = $(call cc-option,-mcpu=528x,-m5307) cpuflags-$(CONFIG_M5275) = $(call cc-option,-mcpu=5275,-m5307) cpuflags-$(CONFIG_M5272) = $(call cc-option,-mcpu=5272,-m5307) cpuflags-$(CONFIG_M5271) = $(call cc-option,-mcpu=5271,-m5307) cpuflags-$(CONFIG_M523x) = $(call cc-option,-mcpu=523x,-m5307) cpuflags-$(CONFIG_M525x) = $(call cc-option,-mcpu=5253,-m5200) cpuflags-$(CONFIG_M5249) = $(call cc-option,-mcpu=5249,-m5200) cpuflags-$(CONFIG_M520x) = $(call cc-option,-mcpu=5208,-m5200) cpuflags-$(CONFIG_M5206e) = $(call cc-option,-mcpu=5206e,-m5200) cpuflags-$(CONFIG_M5206) = $(call cc-option,-mcpu=5206,-m5200)

Evaluate tune cc-option calls now

cpuflags-y := $(cpuflags-y)

KBUILD_AFLAGS += $(cpuflags-y) KBUILD_CFLAGS += $(cpuflags-y)

KBUILD_CFLAGS += -pipe -ffreestanding

ifdef CONFIG_MMU KBUILD_CFLAGS += -ffixed-a2 else

we can use a m68k-linux-gcc toolchain with these in place

KBUILD_CPPFLAGS += -DUTS_SYSNAME="uClinux" KBUILD_CPPFLAGS += -D__uClinux__ endif

KBUILD_LDFLAGS := -m m68kelf

ifdef CONFIG_SUN3 LDFLAGS_vmlinux = -N endif

CHECKFLAGS += -D__mc68000__

ifdef CONFIG_KGDB

If configured for kgdb support, include debugging infos and keep the

frame pointer

KBUILD_CFLAGS := $(subst -fomit-frame-pointer,,$(KBUILD_CFLAGS)) -g endif

Select the assembler head startup code. Order is important. The default

head code is first, processor specific selections can override it after.

head-y := arch/m68k/kernel/head.o head-$(CONFIG_SUN3) := arch/m68k/kernel/sun3-head.o head-$(CONFIG_M68000) := arch/m68k/68000/head.o head-$(CONFIG_COLDFIRE) := arch/m68k/coldfire/head.o

libs-y += arch/m68k/lib/

all: zImage

lilo: vmlinux if [ -f $(INSTALL_PATH)/vmlinux ]; then mv -f $(INSTALL_PATH)/vmlinux $(INSTALL_PATH)/vmlinux.old; fi if [ -f $(INSTALL_PATH)/System.map ]; then mv -f $(INSTALL_PATH)/System.map $(INSTALL_PATH)/System.old; fi cat vmlinux > $(INSTALL_PATH)/vmlinux cp System.map $(INSTALL_PATH)/System.map if [ -x /sbin/lilo ]; then /sbin/lilo; else /etc/lilo/install; fi

zImage compressed: vmlinux.gz

vmlinux.gz: vmlinux

ifndef CONFIG_KGDB cp vmlinux vmlinux.tmp $(STRIP) vmlinux.tmp $(KGZIP) -9c vmlinux.tmp >vmlinux.gz rm vmlinux.tmp else $(KGZIP) -9c vmlinux >vmlinux.gz endif

bzImage: vmlinux.bz2

vmlinux.bz2: vmlinux

ifndef CONFIG_KGDB cp vmlinux vmlinux.tmp $(STRIP) vmlinux.tmp $(KBZIP2) -1c vmlinux.tmp >vmlinux.bz2 rm vmlinux.tmp else $(KBZIP2) -1c vmlinux >vmlinux.bz2 endif

CLEAN_FILES += vmlinux.gz vmlinux.bz2

archheaders: $(Q)$(MAKE) $(build)=arch/m68k/kernel/syscalls all

install: sh $(srctree)/arch/m68k/install.sh $(KERNELRELEASE) vmlinux.gz System.map "$(INSTALL_PATH)"