Makefile.amd64 revision 1.29
11.29Stron#	$NetBSD: Makefile.amd64,v 1.29 2009/11/25 17:08:08 tron Exp $
21.1Sfvdl
31.1Sfvdl# Makefile for NetBSD
41.1Sfvdl#
51.1Sfvdl# This makefile is constructed from a machine description:
61.1Sfvdl#	config machineid
71.1Sfvdl# Most changes should be made in the machine description
81.1Sfvdl#	/sys/arch/amd64/conf/``machineid''
91.1Sfvdl# after which you should do
101.1Sfvdl#	config machineid
111.1Sfvdl# Machine generic makefile changes should be made in
121.1Sfvdl#	/sys/arch/amd64/conf/Makefile.amd64
131.1Sfvdl# after which config should be rerun for all machines of that type.
141.1Sfvdl#
151.1Sfvdl# To specify debugging, add the config line: makeoptions DEBUG="-g"
161.1Sfvdl# A better way is to specify -g only for a few files.
171.1Sfvdl#
181.1Sfvdl#	makeoptions DEBUGLIST="uvm* trap if_*"
191.1Sfvdl
201.1SfvdlMACHINE_ARCH=x86_64
211.1SfvdlUSETOOLS?=	no
221.1SfvdlNEED_OWN_INSTALL_TARGET?=no
231.1Sfvdl.include <bsd.own.mk>
241.1Sfvdl
251.29StronUSE_SSP?=	yes
261.29Stron
271.1Sfvdl##
281.1Sfvdl## (1) port identification
291.1Sfvdl##
301.1SfvdlAMD64=		$S/arch/amd64
311.6SchristosGENASSYM_CONF=	${AMD64}/amd64/genassym.cf
321.1Sfvdl
331.1Sfvdl##
341.1Sfvdl## (2) compile settings
351.1Sfvdl##
361.2SfvdlDEFCOPTS=	-O2
371.1SfvdlCPPFLAGS+=	-Damd64 -Dx86_64
381.1SfvdlCFLAGS+=	-mcmodel=kernel
391.1SfvdlCFLAGS+=	-mno-red-zone
401.1SfvdlAFLAGS+=	-x assembler-with-cpp -traditional-cpp
411.1Sfvdl
421.1Sfvdl##
431.1Sfvdl## (3) libkern and compat
441.1Sfvdl##
451.1SfvdlKERN_AS=	obj
461.1Sfvdl
471.1Sfvdl##
481.1Sfvdl## (4) local objects, compile rules, and dependencies
491.1Sfvdl##
501.14SkardelMD_OBJS=	locore.o vector.o copy.o spl.o
511.1SfvdlMD_CFILES=
521.1SfvdlMD_SFILES=	${AMD64}/amd64/locore.S ${AMD64}/amd64/vector.S \
531.14Skardel		${AMD64}/amd64/copy.S ${AMD64}/amd64/spl.S
541.1Sfvdl
551.1Sfvdllocore.o: ${AMD64}/amd64/locore.S assym.h
561.1Sfvdl	${NORMAL_S}
571.1Sfvdl
581.1Sfvdlvector.o: ${AMD64}/amd64/vector.S assym.h
591.1Sfvdl	${NORMAL_S}
601.1Sfvdl
611.1Sfvdlcopy.o: ${AMD64}/amd64/copy.S assym.h
621.1Sfvdl	${NORMAL_S}
631.1Sfvdl
641.1Sfvdlspl.o: ${AMD64}/amd64/spl.S assym.h
651.1Sfvdl	${NORMAL_S}
661.1Sfvdl
671.1Sfvdl##
681.1Sfvdl## (5) link settings
691.1Sfvdl##
701.1SfvdlTEXTADDR?=	0xffffffff80100000
711.28SskrllEXTRA_LINKFLAGS=	-z max-page-size=0x100000
721.1SfvdlLINKFLAGS_NORMAL=	-X
731.1SfvdlKERN_LDSCRIPT?= kern.ldscript
741.1SfvdlLINKFORMAT=	-T ${AMD64}/conf/${KERN_LDSCRIPT}
751.1Sfvdl
761.1Sfvdl##
771.1Sfvdl## (6) port specific target dependencies
781.1Sfvdl##
791.1Sfvdl
801.1Sfvdl# depend on CPU configuration
811.1Sfvdllocore.o machdep.o: Makefile
821.1Sfvdl
831.25Sjoergacpi_wakeup_low.o amd64func.o busfunc.o cpufunc.o cpu_in_cksum.o: assym.h
841.25Sjoerglinux_support.o linux32_sigcode.o lock_stubs.o mptramp.o: assym.h
851.25Sjoergnetbsd32_sigcode.o: assym.h
861.1Sfvdl
871.1Sfvdl##
881.1Sfvdl## (7) misc settings
891.1Sfvdl##
901.1Sfvdl
911.1Sfvdl##
921.1Sfvdl## (8) config(8) generated machinery
931.1Sfvdl##
941.1Sfvdl%INCLUDES
951.1Sfvdl
961.1Sfvdl%OBJS
971.1Sfvdl
981.1Sfvdl%CFILES
991.1Sfvdl
1001.1Sfvdl%SFILES
1011.1Sfvdl
1021.1Sfvdl%LOAD
1031.1Sfvdl
1041.1Sfvdl%RULES
1051.26Salc
1061.26Salc## Include rules for ACPI wakecode
1071.18Sjmcneill.include "$S/arch/x86/acpi/Makefile.wakecode.inc"
1081.1Sfvdl
1091.1Sfvdl##
1101.1Sfvdl## (9) port independent kernel machinery
1111.1Sfvdl##
1121.1Sfvdl.include "$S/conf/Makefile.kern.inc"
1131.5Sthorpej
1141.5Sthorpej##
1151.5Sthorpej## (10) Appending make options.
1161.5Sthorpej##
1171.5Sthorpej%MAKEOPTIONSAPPEND
118