Makefile.luna68k revision 1.22
11.22Stsutsui#	$NetBSD: Makefile.luna68k,v 1.22 2011/07/20 12:00:04 tsutsui 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.13Satatat
411.13Satatat##
421.13Satatat## (4) local objects, compile rules, and dependencies
431.13Satatat##
441.13Satatat# for the Motorola 68040 Floating Point Software Product
451.13Satatat# .include "$S/arch/m68k/fpsp/Makefile.inc"
461.1Snisimura
471.13SatatatMD_OBJS=	locore.o ${FPSP}
481.13SatatatMD_CFILES=
491.13SatatatMD_SFILES=	
501.1Snisimura
511.13Satatatlocore.o: ${LUNA68K}/luna68k/locore.s assym.h
521.13Satatat	${NORMAL_S}
531.1Snisimura
541.13Satatat##
551.13Satatat## (5) link settings
561.13Satatat##
571.21StsutsuiLINKFORMAT=	-N -T ldscript
581.21Stsutsui.if (${OBJECT_FMT} == "ELF")
591.21Stsutsui# Need to convert the kernel from ELF to a.out so that PROM can load it.
601.21Stsutsui
611.21StsutsuiSYSTEM_LD_HEAD_EXTRA+=; \
621.21Stsutsui	( cat ${LUNA68K}/conf/kern.ldscript.head ; \
631.22Stsutsui	  OBJDUMP=${OBJDUMP} ${HOST_SH} $S/conf/mkldscript.sh \
641.21Stsutsui	        ${SYSTEM_OBJ} ; \
651.21Stsutsui	  cat ${LUNA68K}/conf/kern.ldscript.tail ) > ldscript
661.21Stsutsui
671.21StsutsuiSYSTEM_LD_TAIL_EXTRA+=; \
681.21Stsutsui	echo "${ELF2AOUT} $@ $@.aout" ; \
691.21Stsutsui	    ${ELF2AOUT} $@ $@.aout
701.21Stsutsui.endif
711.13Satatat
721.13Satatat##
731.13Satatat## (6) port specific target dependencies
741.13Satatat##
751.1Snisimura
761.13Satatat# depend on CPU configuration
771.13Satatatmachdep.c trap.o: Makefile
781.1Snisimura
791.19Sjoergcopy.o copypage.o lock_stubs.o: assym.h
801.19Sjoerg
811.13Satatat##
821.13Satatat## (7) misc settings
831.13Satatat##
841.13Satatat
851.13Satatat##
861.13Satatat## (8) config(8) generated machinery
871.13Satatat##
881.13Satatat%INCLUDES
891.1Snisimura
901.1Snisimura%OBJS
911.1Snisimura
921.1Snisimura%CFILES
931.1Snisimura
941.1Snisimura%SFILES
951.1Snisimura
961.1Snisimura%LOAD
971.1Snisimura
981.13Satatat%RULES
991.1Snisimura
1001.13Satatat##
1011.13Satatat## (9) port independent kernel machinery
1021.13Satatat##
1031.13Satatat.include "$S/conf/Makefile.kern.inc"
1041.16Sthorpej
1051.16Sthorpej##
1061.16Sthorpej## (10) Appending make options.
1071.16Sthorpej##
1081.16Sthorpej%MAKEOPTIONSAPPEND
109