Makefile.sun2 revision 1.11
11.11Sfredette# $NetBSD: Makefile.sun2,v 1.11 2001/12/01 15:23:18 fredette Exp $ 21.1Sfredette 31.1Sfredette# Makefile for NetBSD 41.1Sfredette# 51.1Sfredette# This makefile is constructed from a machine description: 61.1Sfredette# config machineid 71.1Sfredette# Most changes should be made in the machine description 81.1Sfredette# /sys/arch/sun2/conf/``machineid'' 91.1Sfredette# after which you should do 101.1Sfredette# config machineid 111.1Sfredette# Machine generic makefile changes should be made in 121.1Sfredette# /sys/arch/sun2/conf/Makefile.sun2 131.1Sfredette# after which config should be rerun for all machines of that type. 141.1Sfredette# 151.11Sfredette# To specify debugging, add the config line: makeoptions DEBUG="-g" 161.11Sfredette# A better way is to specify -g only for a few files. 171.1Sfredette# 181.11Sfredette# makeoptions DEBUGLIST="uvm* trap if_*" 191.1Sfredette 201.6SthorpejMACHINE_ARCH=m68000 211.7SjmcUSETOOLS?= no 221.11SfredetteNEED_OWN_INSTALL_TARGET?=no 231.7Sjmc.include <bsd.own.mk> 241.6Sthorpej 251.11Sfredette## 261.11Sfredette## (1) port identification 271.11Sfredette## 281.11SfredetteSUN2= $S/arch/sun2 291.11SfredetteGENASSYM= ${SUN2}/sun2/genassym.cf 301.11Sfredette 311.11Sfredette## 321.11Sfredette## (2) compile settings 331.11Sfredette## 341.1Sfredette# Override CPP defaults entirely, so cross-compilation works. 351.1Sfredette# Keep -nostdinc before all -I flags, similar for -undef ... 361.5SfredetteXDEFS= -undef -D__NetBSD__ -Dm68k -Dmc68000 -D__ELF__ -D__SVR4_ABI__ 371.11SfredetteDEFINES= -Dsun2 381.11SfredetteCPPFLAGS+= ${XDEFS} ${DEFINES} 391.11SfredetteCFLAGS+= -msoft-float -fno-defer-pop 401.1SfredetteAPPFLAGS= -x assembler-with-cpp -P -traditional ${CPPFLAGS} -D_LOCORE 411.1Sfredette 421.11Sfredette# Do NOT assume the compiler does "-x funny_format" (gcc-specific) 431.11Sfredette# This needs an intermediate file. The original file is always 441.11Sfredette# safe in some far away directory, so just use the base name. 451.11SfredetteNORMAL_S= ${CPP} ${APPFLAGS} $< > $*.s ;\ 461.11Sfredette ${AS} -o $@ $*.s ; rm $*.s 471.1Sfredette 481.11Sfredette## 491.11Sfredette## (3) libkern and compat 501.11Sfredette## 511.1SfredetteKERN_AS= obj 521.4Sfredette# XXX lib/libkern/arch/m68k/Makefile.inc needs to know that 531.4Sfredette# XXX our MACHINE_ARCH is m68000, and not m68k. --fredette 541.2SfredetteKERNMISCMAKEFLAGS= MACHINE_ARCH=${MACHINE_ARCH} 551.1Sfredette 561.11Sfredette## 571.11Sfredette## (4) local objects, compile rules, and dependencies 581.11Sfredette## 591.11SfredetteMD_OBJS= locore.o 601.11SfredetteMD_CFILES= 611.11SfredetteMD_SFILES= ${SUN2}/sun2/locore.s 621.1Sfredette 631.11Sfredettelocore.o: ${SUN2}/sun2/locore.s 641.11Sfredette ${NORMAL_S} 651.1Sfredette 661.11Sfredette## 671.11Sfredette## (5) link settings 681.11Sfredette## 691.11SfredetteLINKFORMAT= -N 701.11SfredetteTEXTADDR?= 00006000 711.11Sfredette 721.11Sfredette## 731.11Sfredette## (6) port specific target dependencies 741.11Sfredette## 751.1Sfredette 761.1Sfredette# For cross-compilation, the "gcc -M" mkdep script is convenient, 771.1Sfredette# but that does not correctly make rules from *.s files. The 781.1Sfredette# easiest work-around is to just list those dependencies here. 791.1Sfredettelocore.o: assym.h m68k/asm.h m68k/trap.h 801.1Sfredettecopy.o: assym.h m68k/asm.h $S/sys/errno.h 811.1Sfredettebcopy.o: assym.h m68k/asm.h 821.1Sfredettecopypage.o: assym.h m68k/asm.h 831.1Sfredette 841.9Slukem# depend on CPU configuration 851.1Sfredettedb_machdep.o dvma.o machdep.o pmap.o sun2_startup.o vm_machdep.o: Makefile 861.1Sfredette 871.1Sfredette# depends on DDB, etc. 881.1Sfredettestub.o: Makefile 891.1Sfredette 901.11Sfredette## 911.11Sfredette## (7) misc settings 921.11Sfredette## 931.11SfredetteMKDEP_AFLAGS= ${APPFLAGS} 941.11Sfredette 951.11Sfredette## 961.11Sfredette## (8) config(8) generated machinery 971.11Sfredette## 981.11Sfredette%INCLUDES 991.11Sfredette 1001.11Sfredette%OBJS 1011.11Sfredette 1021.11Sfredette%CFILES 1031.1Sfredette 1041.11Sfredette%SFILES 1051.1Sfredette 1061.11Sfredette%LOAD 1071.1Sfredette 1081.1Sfredette%RULES 1091.11Sfredette 1101.11Sfredette## 1111.11Sfredette## (9) port independent kernel machinery 1121.11Sfredette## 1131.11Sfredette.include "$S/conf/Makefile.kern.inc" 114