1 1.24 christos # $NetBSD: Makefile.luna68k,v 1.24 2013/03/10 07:18:20 christos Exp $ 2 1.1 nisimura 3 1.1 nisimura # Makefile for NetBSD 4 1.1 nisimura # 5 1.1 nisimura # This makefile is constructed from a machine description: 6 1.1 nisimura # config machineid 7 1.1 nisimura # Most changes should be made in the machine description 8 1.1 nisimura # /sys/arch/luna68k/conf/``machineid'' 9 1.1 nisimura # after which you should do 10 1.1 nisimura # config machineid 11 1.1 nisimura # Machine generic makefile changes should be made in 12 1.1 nisimura # /sys/arch/luna68k/conf/Makefile.luna68k 13 1.1 nisimura # after which config should be rerun for all machines of that type. 14 1.13 atatat # To specify debugging, add the config line: makeoptions DEBUG="-g" 15 1.13 atatat # A better way is to specify -g only for a few files. 16 1.13 atatat # 17 1.13 atatat # makeoptions DEBUGLIST="uvm* trap if_*" 18 1.10 thorpej 19 1.10 thorpej MACHINE_ARCH=m68k 20 1.11 jmc USETOOLS?= no 21 1.13 atatat NEED_OWN_INSTALL_TARGET?=no 22 1.11 jmc .include <bsd.own.mk> 23 1.1 nisimura 24 1.13 atatat ## 25 1.13 atatat ## (1) port identification 26 1.13 atatat ## 27 1.13 atatat LUNA68K= $S/arch/luna68k 28 1.17 christos GENASSYM_CONF= ${LUNA68K}/luna68k/genassym.cf 29 1.13 atatat 30 1.13 atatat ## 31 1.13 atatat ## (2) compile settings 32 1.13 atatat ## 33 1.13 atatat CPPFLAGS+= -Dluna68k 34 1.13 atatat CFLAGS+= -msoft-float 35 1.20 joerg AFLAGS+= -x assembler-with-cpp 36 1.13 atatat 37 1.13 atatat ## 38 1.13 atatat ## (3) libkern and compat 39 1.13 atatat ## 40 1.24 christos OPT_MODULAR= %MODULAR% 41 1.24 christos .if !empty(OPT_MODULAR) 42 1.24 christos KERN_AS= obj 43 1.24 christos .else 44 1.24 christos KERN_AS= library 45 1.24 christos .endif 46 1.13 atatat 47 1.13 atatat ## 48 1.13 atatat ## (4) local objects, compile rules, and dependencies 49 1.13 atatat ## 50 1.13 atatat # for the Motorola 68040 Floating Point Software Product 51 1.23 tsutsui .include "$S/arch/m68k/fpsp/Makefile.inc" 52 1.1 nisimura 53 1.13 atatat MD_OBJS= locore.o ${FPSP} 54 1.13 atatat MD_CFILES= 55 1.13 atatat MD_SFILES= 56 1.1 nisimura 57 1.13 atatat locore.o: ${LUNA68K}/luna68k/locore.s assym.h 58 1.13 atatat ${NORMAL_S} 59 1.1 nisimura 60 1.13 atatat ## 61 1.13 atatat ## (5) link settings 62 1.13 atatat ## 63 1.21 tsutsui LINKFORMAT= -N -T ldscript 64 1.21 tsutsui .if (${OBJECT_FMT} == "ELF") 65 1.21 tsutsui # Need to convert the kernel from ELF to a.out so that PROM can load it. 66 1.21 tsutsui 67 1.21 tsutsui SYSTEM_LD_HEAD_EXTRA+=; \ 68 1.21 tsutsui ( cat ${LUNA68K}/conf/kern.ldscript.head ; \ 69 1.22 tsutsui OBJDUMP=${OBJDUMP} ${HOST_SH} $S/conf/mkldscript.sh \ 70 1.21 tsutsui ${SYSTEM_OBJ} ; \ 71 1.21 tsutsui cat ${LUNA68K}/conf/kern.ldscript.tail ) > ldscript 72 1.21 tsutsui 73 1.21 tsutsui SYSTEM_LD_TAIL_EXTRA+=; \ 74 1.21 tsutsui echo "${ELF2AOUT} $@ $@.aout" ; \ 75 1.21 tsutsui ${ELF2AOUT} $@ $@.aout 76 1.21 tsutsui .endif 77 1.13 atatat 78 1.13 atatat ## 79 1.13 atatat ## (6) port specific target dependencies 80 1.13 atatat ## 81 1.1 nisimura 82 1.13 atatat # depend on CPU configuration 83 1.13 atatat machdep.c trap.o: Makefile 84 1.1 nisimura 85 1.19 joerg copy.o copypage.o lock_stubs.o: assym.h 86 1.19 joerg 87 1.13 atatat ## 88 1.13 atatat ## (7) misc settings 89 1.13 atatat ## 90 1.13 atatat 91 1.13 atatat ## 92 1.13 atatat ## (8) config(8) generated machinery 93 1.13 atatat ## 94 1.13 atatat %INCLUDES 95 1.1 nisimura 96 1.1 nisimura %OBJS 97 1.1 nisimura 98 1.1 nisimura %CFILES 99 1.1 nisimura 100 1.1 nisimura %SFILES 101 1.1 nisimura 102 1.1 nisimura %LOAD 103 1.1 nisimura 104 1.13 atatat %RULES 105 1.1 nisimura 106 1.13 atatat ## 107 1.13 atatat ## (9) port independent kernel machinery 108 1.13 atatat ## 109 1.13 atatat .include "$S/conf/Makefile.kern.inc" 110 1.16 thorpej 111 1.16 thorpej ## 112 1.16 thorpej ## (10) Appending make options. 113 1.16 thorpej ## 114 1.16 thorpej %MAKEOPTIONSAPPEND 115