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