Makefile.mips revision 1.45
1# $NetBSD: Makefile.mips,v 1.45 2007/05/17 14:51:22 yamt Exp $ 2 3# Makefile for NetBSD 4# 5# This makefile is constructed from a machine description: 6# config machineid 7# Most changes should be made in the machine description 8# /sys/arch/<machine>/conf/``machineid'' 9# after which you should do 10# config machineid 11# Machine generic makefile changes should be made in 12# /sys/arch/mips/conf/Makefile.mips 13# after which config should be rerun for all machines of that type. 14# 15# To specify debugging, add the config line: makeoptions DEBUG="-g" 16# A better way is to specify -g only for a few files. 17# 18# makeoptions DEBUGLIST="uvm* trap if_*" 19 20USETOOLS?= no 21NEED_OWN_INSTALL_TARGET?=no 22.include <bsd.own.mk> 23 24## 25## (0) toolchain settings for things that aren't part of the standard 26## toolchain 27## 28ELF2ECOFF?= elf2ecoff 29 30## 31## (1) port identification 32## 33.ifndef S 34S= ../../../.. 35.endif 36THISMIPS= $S/arch/${MACHINE} 37MIPS= $S/arch/mips 38GENASSYM_CONF= ${MIPS}/mips/genassym.cf 39.-include "${THISMIPS}/conf/Makefile.${MACHINE}.inc" 40 41## 42## (2) compile settings 43## 44## Note: -ffixed-?? must be kept in sync with cpu.h. 45## 46CPPFLAGS+= -D${MACHINE} 47DEFGP?= -G 0 48GP?= ${DEFGP} 49CFLAGS+= ${GP} -mno-abicalls -msoft-float -ffixed-23 50.if ${MACHINE_ARCH} == "mips64eb" || ${MACHINE_ARCH} == "mips64el" 51CFLAGS+= -msym32 52.endif 53AFLAGS+= -mno-abicalls -x assembler-with-cpp -traditional-cpp ${AOPTS} 54 55## 56## (3) libkern and compat 57## 58.if !empty(IDENT:M-DLKM) 59KERN_AS= obj 60.endif 61 62## 63## (4) local objects, compile rules, and dependencies 64## 65MD_OBJS= locore.o locore_machdep.o 66MD_CFILES= 67MD_SFILES= ${MIPS}/mips/locore.S ${THISMIPS}/${MACHINE}/locore_machdep.S 68 69locore.o: ${MIPS}/mips/locore.S assym.h 70 ${NORMAL_S} 71 72locore_machdep.o: ${THISMIPS}/${MACHINE}/locore_machdep.S assym.h 73 ${NORMAL_S} 74 75## 76## (5) link settings 77## 78.if ${MACHINE_ARCH} == "mips64eb" || ${MACHINE_ARCH} == "mips64el" 79TEXTADDR?= ${DEFTEXTADDR:C/0x8/0xFFFFFFFF8/} 80.else 81TEXTADDR?= ${DEFTEXTADDR} 82.endif 83KERNLDSCRIPT?= ${MIPS}/conf/kern.ldscript 84# some mips ports specify a "magic" format 85LINKFORMAT+= -T ${KERNLDSCRIPT} 86EXTRA_LINKFLAGS= ${GP} ${LDOPTS} 87LINKFLAGS_NORMAL= -x 88STRIPFLAGS= -g -X -x 89 90## 91## (6) port specific target dependencies 92## 93 94# depend on CPU configuration 95machdep.o mainbus.o trap.o: Makefile 96 97# depend on System V IPC/shmem options 98mips_machdep.o pmap.o: Makefile 99 100# various assembly files that depend on assym.h 101copy.o fp.o locore.o locore_mips1.o locore_mips3.o sigcode.o: assym.h 102mips32_subr.o mips3_subr.o mips5900_subr.o mips64_subr.o mipsX_subr.o: assym.h 103 104 105## 106## (7) misc settings 107## 108 109## 110## (8) config(8) generated machinery 111## 112%INCLUDES 113 114%OBJS 115 116%CFILES 117 118%SFILES 119 120%LOAD 121 122%RULES 123 124## Include rules for Atheros WLAN 125.include "$S/contrib/dev/ath/netbsd/Makefile.ath.inc" 126 127## 128## (9) port independent kernel machinery 129## 130.include "$S/conf/Makefile.kern.inc" 131 132## 133## (10) Appending make options. 134## 135%MAKEOPTIONSAPPEND 136