11.9Smrg# $NetBSD: Makefile.hppa,v 1.9 2023/08/08 06:27:32 mrg Exp $ 21.1Sskrll 31.1Sskrll# Makefile for NetBSD 41.1Sskrll# 51.1Sskrll# This makefile is constructed from a machine description: 61.1Sskrll# config machineid 71.1Sskrll# Most changes should be made in the machine description 81.1Sskrll# /sys/arch/hppa/conf/``machineid'' 91.1Sskrll# after which you should do 101.1Sskrll# config machineid 111.1Sskrll# Machine generic makefile changes should be made in 121.1Sskrll# /sys/arch/hppa/conf/Makefile.hppa 131.1Sskrll# after which config should be rerun for all machines of that type. 141.1Sskrll# 151.1Sskrll# To specify debugging, add the config line: makeoptions DEBUG="-g" 161.1Sskrll# A better way is to specify -g only for a few files. 171.1Sskrll# 181.1Sskrll# makeoptions DEBUGLIST="uvm* trap if_*" 191.1Sskrll 201.1SskrllMACHINE_ARCH=hppa 211.1SskrllNEED_OWN_INSTALL_TARGET?=no 221.1Sskrll.include <bsd.own.mk> 231.1Sskrll 241.1Sskrll## 251.1Sskrll## (1) port identification 261.1Sskrll## 271.1SskrllHPPA= $S/arch/hppa 281.1SskrllGENASSYM_CONF= ${HPPA}/hppa/genassym.cf 291.1Sskrll 301.1Sskrll## 311.1Sskrll## (2) compile settings 321.1Sskrll## 331.1SskrllCPPFLAGS+= -Dhppa 341.1SskrllCFLAGS+= -mpa-risc-1-1 -msoft-float -mdisable-fpregs 351.1Sskrll 361.1Sskrll.include "${HPPA}/spmath/Makefile.inc" 371.1Sskrll 381.1Sskrll.ifndef PROF 391.1SskrllLIBSPMATH= ${SPMATH} 401.1Sskrll.else 411.1SskrllLIBSPMATH= ${SPMATH_PROF} 421.1Sskrll.endif 431.1Sskrll 441.1SskrllCFLAGS+= -mno-space-regs -mfast-indirect-calls -mportable-runtime 451.1SskrllAFLAGS+= -x assembler-with-cpp -P -traditional 461.1Sskrll 471.1SskrllOPT_DDB= %DDB% 481.1Sskrll.if !empty(OPT_DDB) 491.1SskrllCFLAGS+= -fno-omit-frame-pointer 501.1Sskrll.endif 511.1Sskrll 521.1Sskrll## 531.1Sskrll## (3) libkern and compat 541.1Sskrll## 551.6SrinOPT_MODULAR= %MODULAR% 561.1Sskrll 571.1Sskrll## 581.1Sskrll## (4) local objects, compile rules, and dependencies 591.1Sskrll## 601.5SuebayasiMD_OBJS= locore.o 611.5SuebayasiMD_LIBS= ${LIBSPMATH} 621.1SskrllMD_CFILES= 631.1SskrllMD_SFILES= ${HPPA}/hppa/locore.S 641.1Sskrll 651.1Sskrlllocore.o: ${HPPA}/hppa/locore.S 661.1Sskrll ${NORMAL_S} 671.1Sskrll 681.1Sskrll## 691.1Sskrll## (5) link settings 701.1Sskrll## 711.3SuebayasiKERNLDSCRIPT= ${HPPA}/conf/ld.script 721.1SskrllTEXTADDR?= 00200000 731.1SskrllLINKFLAGS_NORMAL= -X 741.1SskrllEXTRA_LINKFLAGS= -Map $@.map 751.1Sskrll 761.1Sskrll## 771.1Sskrll## (6) port specific target dependencies 781.1Sskrll## 791.1Sskrll 801.1Sskrll# depend on CPU configuration 811.1Sskrlldb_machdep.o machdep.o pmap.o vm_machdep.o: Makefile 821.1Sskrll 831.1Sskrll# depends on KGDBDEV, KGDBRATE, DDB, etc. 841.1Sskrllcom_gsc.o clock.o pdc.o autoconf.o machdep.o: Makefile 851.1Sskrll 861.1Sskrll## 871.1Sskrll## (7) misc settings 881.1Sskrll## 891.1Sskrll 901.9Smrg# GCC 12 gets this wrong 911.9SmrgCOPTS.pdc.c+= ${CC_WNO_ARRAY_BOUNDS} 921.9Smrg 931.1Sskrll## 941.1Sskrll## (8) config(8) generated machinery 951.1Sskrll## 961.1Sskrll%INCLUDES 971.1Sskrll 981.1Sskrll%OBJS 991.1Sskrll 1001.1Sskrll%CFILES 1011.1Sskrll 1021.1Sskrll%SFILES 1031.1Sskrll 1041.1Sskrll%LOAD 1051.1Sskrll 1061.1Sskrll%RULES 1071.1Sskrll 1081.1Sskrll## 1091.1Sskrll## (9) port independent kernel machinery 1101.1Sskrll## 1111.1Sskrll.include "$S/conf/Makefile.kern.inc" 1121.1Sskrll 1131.1Sskrll## 1141.1Sskrll## (10) Appending make options. 1151.1Sskrll## 1161.1Sskrll%MAKEOPTIONSAPPEND 117