1 1.28 christos # $NetBSD: Makefile.sh3,v 1.28 2013/03/10 07:18:21 christos Exp $ 2 1.1 itojun 3 1.1 itojun # Makefile for NetBSD 4 1.1 itojun # 5 1.1 itojun # This makefile is constructed from a machine description: 6 1.1 itojun # config machineid 7 1.1 itojun # Most changes should be made in the machine description 8 1.18 uch # /sys/arch/<machine>/conf/``machineid'' 9 1.1 itojun # after which you should do 10 1.1 itojun # config machineid 11 1.18 uch # CPU generic makefile changes should be made in 12 1.1 itojun # /sys/arch/sh3/conf/Makefile.sh3 13 1.1 itojun # after which config should be rerun for all machines of that type. 14 1.16 atatat # 15 1.16 atatat # To specify debugging, add the config line: makeoptions DEBUG="-g" 16 1.16 atatat # A better way is to specify -g only for a few files. 17 1.16 atatat # 18 1.16 atatat # makeoptions DEBUGLIST="uvm* trap if_*" 19 1.14 jmc 20 1.14 jmc USETOOLS?= no 21 1.16 atatat NEED_OWN_INSTALL_TARGET?=no 22 1.1 itojun .include <bsd.own.mk> 23 1.1 itojun 24 1.16 atatat ## 25 1.16 atatat ## (1) port identification 26 1.16 atatat ## 27 1.16 atatat THISSH3= $S/arch/${MACHINE} 28 1.16 atatat SH3= $S/arch/sh3 29 1.20 christos GENASSYM_CONF= ${SH3}/sh3/genassym.cf 30 1.16 atatat .-include "${THISSH3}/conf/Makefile.${MACHINE}.inc" 31 1.16 atatat 32 1.16 atatat ## 33 1.16 atatat ## (2) compile settings 34 1.16 atatat ## 35 1.16 atatat CPPFLAGS+= -D${MACHINE} 36 1.27 joerg AFLAGS+= -x assembler-with-cpp 37 1.26 uwe # -O2 is too -falign-* zealous for low-memory sh3 machines 38 1.26 uwe COPTS?= -Os -freorder-blocks 39 1.1 itojun 40 1.16 atatat ## 41 1.16 atatat ## (3) libkern and compat 42 1.16 atatat ## 43 1.28 christos OPT_MODULAR= %MODULAR% 44 1.28 christos .if !empty(OPT_MODULAR) 45 1.28 christos KERN_AS= obj 46 1.28 christos .else 47 1.28 christos KERN_AS= library 48 1.28 christos .endif 49 1.16 atatat 50 1.16 atatat ## 51 1.16 atatat ## (4) local objects, compile rules, and dependencies 52 1.16 atatat ## 53 1.16 atatat MD_OBJS= locore.o 54 1.16 atatat MD_CFILES= 55 1.17 uch MD_SFILES= ${THISSH3}/${MACHINE}/locore.S 56 1.1 itojun 57 1.17 uch locore.o: ${THISSH3}/${MACHINE}/locore.S assym.h 58 1.16 atatat ${NORMAL_S} 59 1.1 itojun 60 1.25 joerg cpu_in_cksum.o exception_vector.o locore_subr.o: assym.h 61 1.25 joerg 62 1.16 atatat ## 63 1.16 atatat ## (5) link settings 64 1.16 atatat ## 65 1.22 uebayasi TEXTADDR?= ${DEFTEXTADDR} 66 1.22 uebayasi LINKFLAGS_NORMAL= -X 67 1.16 atatat 68 1.16 atatat ## 69 1.16 atatat ## (6) port specific target dependencies 70 1.16 atatat ## 71 1.1 itojun 72 1.16 atatat # depend on CPU configuration 73 1.16 atatat locore.o machdep.o: Makefile 74 1.1 itojun 75 1.16 atatat ## 76 1.16 atatat ## (7) misc settings 77 1.16 atatat ## 78 1.16 atatat 79 1.16 atatat ## 80 1.16 atatat ## (8) config(8) generated machinery 81 1.16 atatat ## 82 1.16 atatat %INCLUDES 83 1.1 itojun 84 1.1 itojun %OBJS 85 1.1 itojun 86 1.1 itojun %CFILES 87 1.1 itojun 88 1.1 itojun %SFILES 89 1.1 itojun 90 1.1 itojun %LOAD 91 1.1 itojun 92 1.16 atatat %RULES 93 1.1 itojun 94 1.16 atatat ## 95 1.16 atatat ## (9) port independent kernel machinery 96 1.16 atatat ## 97 1.16 atatat .include "$S/conf/Makefile.kern.inc" 98 1.19 thorpej 99 1.19 thorpej ## 100 1.19 thorpej ## (10) Appending make options. 101 1.19 thorpej ## 102 1.19 thorpej %MAKEOPTIONSAPPEND 103