4 # This file is included by the global makefile so that you can add your own
5 # architecture-specific flags and dependencies. Remember to do have actions
6 # for "archclean" and "archdep" for cleaning up and making dependencies for
9 # This file is subject to the terms and conditions of the GNU General Public
10 # License. See the file "COPYING" in the main directory of this archive
13 # Copyright (C) 1994 by Linus Torvalds
14 # Portions Copyright (C) 1999 The Puffin Group
16 # Modified for PA-RISC Linux by Paul Lahaie, Alex deVries,
17 # Mike Shaver, Helge Deller and Martin K. Petersen
21 LINKFLAGS =-T $(TOPDIR)/arch/parisc/vmlinux64.lds $(LDFLAGS)
22 CROSS_COMPILE := hppa64-linux-
23 UTS_MACHINE := parisc64
24 #CFLAGS += -b hppa64-linux
27 LINKFLAGS =-T $(TOPDIR)/arch/parisc/vmlinux.lds $(LDFLAGS)
28 MACHINE := $(subst 64,,$(shell uname -m))
29 ifneq (${MACHINE},parisc)
31 CROSS_COMPILE := hppa-linux-
35 OFFSET_H := $(TOPDIR)/include/asm-parisc/offset.h
36 FINAL_LD=$(CROSS_COMPILE)ld --warn-common --warn-section-align
39 OBJCOPY=$(CROSS_COMPILE)objcopy -O binary -R .note -R .comment -S
44 CFLAGS_NSR := -fno-strength-reduce
45 CFLAGS := $(CFLAGS) -D__linux__ $(CFLAGS_PIPE) $(CFLAGS_NSR)
47 # These should be on for older toolchains or SOM toolchains that don't
48 # enable them by default.
49 CFLAGS += -mno-space-regs -mfast-indirect-calls
51 # No fixed-point multiply
52 CFLAGS += -mdisable-fpregs
54 # Without this, "ld -r" results in .text sections that are too big
55 # (> 0x40000) for branches to reach stubs.
56 CFLAGS += -ffunction-sections
58 # select which processor to optimise for
60 CFLAGS += -march=1.1 -mschedule=7100
64 CFLAGS += -march=1.1 -mschedule=7200
68 CFLAGS += -march=1.1 -mschedule=7100LC
72 CFLAGS += -march=2.0 -mschedule=8000
75 ASFLAGS := -D__ASSEMBLY__ -traditional
77 HEAD := arch/parisc/kernel/head.o
79 SUBDIRS := $(SUBDIRS) $(addprefix arch/parisc/, tools kernel mm lib hpux)
80 CORE_FILES := $(addprefix arch/parisc/, kernel/pdc_cons.o kernel/process.o \
81 lib/lib.a mm/mm.o kernel/kernel.o hpux/hpux.o) \
82 $(CORE_FILES) arch/parisc/kernel/init_task.o
83 CLEAN_FILES := $(CLEAN_FILES) arch/parisc/tools/offset.[hs]
86 HEAD := arch/parisc/kernel/head64.o
89 LIBS := `$(CC) -print-libgcc-file-name` $(TOPDIR)/arch/parisc/lib/lib.a $(LIBS)
91 SUBDIRS := $(SUBDIRS) arch/parisc/math-emu
92 DRIVERS := $(DRIVERS) arch/parisc/math-emu/math.o
94 arch/parisc/kernel: dummy
95 $(MAKE) linuxsubdirs SUBDIRS=arch/parisc/kernel
98 $(MAKE) linuxsubdirs SUBDIRS=arch/parisc/mm
101 @if [ $$(palo -f /dev/null >/dev/null 2>&1 ; echo $$?) != 2 ]; then \
102 echo 'ERROR: Please install palo first (apt-get install palo)';\
103 echo 'or build it from source and install it somewhere in your $$PATH';\
106 @if [ ! -f ./palo.conf ]; then \
107 cp arch/parisc/defpalo.conf palo.conf; \
108 echo 'A generic palo config file (./palo.conf) has been created for you.'; \
109 echo 'You should check it and re-run "make palo".'; \
110 echo 'WARNING: the "lifimage" file is now placed in this directory by default!'; \
116 export TOPDIR=`pwd`; \
117 unset STRIP LDFLAGS CPP CPPFLAGS AFLAGS CFLAGS CC LD; cd ../palo && make lifimage
140 $(OFFSET_H): include/linux/version.h
141 $(MAKE) -C $(TOPDIR)/arch/$(ARCH)/tools all