Makefile.luna68k revision 1.24
11.24Schristos# $NetBSD: Makefile.luna68k,v 1.24 2013/03/10 07:18:20 christos Exp $ 21.1Snisimura 31.1Snisimura# Makefile for NetBSD 41.1Snisimura# 51.1Snisimura# This makefile is constructed from a machine description: 61.1Snisimura# config machineid 71.1Snisimura# Most changes should be made in the machine description 81.1Snisimura# /sys/arch/luna68k/conf/``machineid'' 91.1Snisimura# after which you should do 101.1Snisimura# config machineid 111.1Snisimura# Machine generic makefile changes should be made in 121.1Snisimura# /sys/arch/luna68k/conf/Makefile.luna68k 131.1Snisimura# after which config should be rerun for all machines of that type. 141.13Satatat# To specify debugging, add the config line: makeoptions DEBUG="-g" 151.13Satatat# A better way is to specify -g only for a few files. 161.13Satatat# 171.13Satatat# makeoptions DEBUGLIST="uvm* trap if_*" 181.10Sthorpej 191.10SthorpejMACHINE_ARCH=m68k 201.11SjmcUSETOOLS?= no 211.13SatatatNEED_OWN_INSTALL_TARGET?=no 221.11Sjmc.include <bsd.own.mk> 231.1Snisimura 241.13Satatat## 251.13Satatat## (1) port identification 261.13Satatat## 271.13SatatatLUNA68K= $S/arch/luna68k 281.17SchristosGENASSYM_CONF= ${LUNA68K}/luna68k/genassym.cf 291.13Satatat 301.13Satatat## 311.13Satatat## (2) compile settings 321.13Satatat## 331.13SatatatCPPFLAGS+= -Dluna68k 341.13SatatatCFLAGS+= -msoft-float 351.20SjoergAFLAGS+= -x assembler-with-cpp 361.13Satatat 371.13Satatat## 381.13Satatat## (3) libkern and compat 391.13Satatat## 401.24SchristosOPT_MODULAR= %MODULAR% 411.24Schristos.if !empty(OPT_MODULAR) 421.24SchristosKERN_AS= obj 431.24Schristos.else 441.24SchristosKERN_AS= library 451.24Schristos.endif 461.13Satatat 471.13Satatat## 481.13Satatat## (4) local objects, compile rules, and dependencies 491.13Satatat## 501.13Satatat# for the Motorola 68040 Floating Point Software Product 511.23Stsutsui.include "$S/arch/m68k/fpsp/Makefile.inc" 521.1Snisimura 531.13SatatatMD_OBJS= locore.o ${FPSP} 541.13SatatatMD_CFILES= 551.13SatatatMD_SFILES= 561.1Snisimura 571.13Satatatlocore.o: ${LUNA68K}/luna68k/locore.s assym.h 581.13Satatat ${NORMAL_S} 591.1Snisimura 601.13Satatat## 611.13Satatat## (5) link settings 621.13Satatat## 631.21StsutsuiLINKFORMAT= -N -T ldscript 641.21Stsutsui.if (${OBJECT_FMT} == "ELF") 651.21Stsutsui# Need to convert the kernel from ELF to a.out so that PROM can load it. 661.21Stsutsui 671.21StsutsuiSYSTEM_LD_HEAD_EXTRA+=; \ 681.21Stsutsui ( cat ${LUNA68K}/conf/kern.ldscript.head ; \ 691.22Stsutsui OBJDUMP=${OBJDUMP} ${HOST_SH} $S/conf/mkldscript.sh \ 701.21Stsutsui ${SYSTEM_OBJ} ; \ 711.21Stsutsui cat ${LUNA68K}/conf/kern.ldscript.tail ) > ldscript 721.21Stsutsui 731.21StsutsuiSYSTEM_LD_TAIL_EXTRA+=; \ 741.21Stsutsui echo "${ELF2AOUT} $@ $@.aout" ; \ 751.21Stsutsui ${ELF2AOUT} $@ $@.aout 761.21Stsutsui.endif 771.13Satatat 781.13Satatat## 791.13Satatat## (6) port specific target dependencies 801.13Satatat## 811.1Snisimura 821.13Satatat# depend on CPU configuration 831.13Satatatmachdep.c trap.o: Makefile 841.1Snisimura 851.19Sjoergcopy.o copypage.o lock_stubs.o: assym.h 861.19Sjoerg 871.13Satatat## 881.13Satatat## (7) misc settings 891.13Satatat## 901.13Satatat 911.13Satatat## 921.13Satatat## (8) config(8) generated machinery 931.13Satatat## 941.13Satatat%INCLUDES 951.1Snisimura 961.1Snisimura%OBJS 971.1Snisimura 981.1Snisimura%CFILES 991.1Snisimura 1001.1Snisimura%SFILES 1011.1Snisimura 1021.1Snisimura%LOAD 1031.1Snisimura 1041.13Satatat%RULES 1051.1Snisimura 1061.13Satatat## 1071.13Satatat## (9) port independent kernel machinery 1081.13Satatat## 1091.13Satatat.include "$S/conf/Makefile.kern.inc" 1101.16Sthorpej 1111.16Sthorpej## 1121.16Sthorpej## (10) Appending make options. 1131.16Sthorpej## 1141.16Sthorpej%MAKEOPTIONSAPPEND 115