Makefile.amd64 revision 1.37
1# $NetBSD: Makefile.amd64,v 1.37 2011/06/10 03:18:27 joerg Exp $ 2 3# Makefile for NetBSD 4# 5# This makefile is constructed from a machine description: 6# config machineid 7# Most changes should be made in the machine description 8# /sys/arch/amd64/conf/``machineid'' 9# after which you should do 10# config machineid 11# Machine generic makefile changes should be made in 12# /sys/arch/amd64/conf/Makefile.amd64 13# after which config should be rerun for all machines of that type. 14# 15# To specify debugging, add the config line: makeoptions DEBUG="-g" 16# A better way is to specify -g only for a few files. 17# 18# makeoptions DEBUGLIST="uvm* trap if_*" 19 20MACHINE_ARCH=x86_64 21USETOOLS?= no 22NEED_OWN_INSTALL_TARGET?=no 23.include <bsd.own.mk> 24 25USE_SSP?= yes 26 27## 28## (1) port identification 29## 30AMD64= $S/arch/amd64 31GENASSYM_CONF= ${AMD64}/amd64/genassym.cf 32 33## 34## (2) compile settings 35## 36DEFCOPTS= -O2 37CPPFLAGS+= -Damd64 -Dx86_64 38CFLAGS+= -mcmodel=kernel 39CFLAGS+= -mno-red-zone -mno-sse -mno-sse2 -mno-sse3 40 41## 42## (3) libkern and compat 43## 44KERN_AS= obj 45 46## 47## (4) local objects, compile rules, and dependencies 48## 49MD_OBJS= locore.o vector.o copy.o spl.o 50MD_CFILES= 51MD_SFILES= ${AMD64}/amd64/locore.S ${AMD64}/amd64/vector.S \ 52 ${AMD64}/amd64/copy.S ${AMD64}/amd64/spl.S 53 54locore.o: ${AMD64}/amd64/locore.S assym.h 55 ${NORMAL_S} 56 57vector.o: ${AMD64}/amd64/vector.S assym.h 58 ${NORMAL_S} 59 60copy.o: ${AMD64}/amd64/copy.S assym.h 61 ${NORMAL_S} 62 63spl.o: ${AMD64}/amd64/spl.S assym.h 64 ${NORMAL_S} 65 66AFLAGS.locore.S= ${${ACTIVE_CC} == "clang":?-no-integrated-as:} 67AFLAGS.mptramp.S= ${${ACTIVE_CC} == "clang":?-no-integrated-as:} 68AFLAGS.linux32_sigcode.S= ${${ACTIVE_CC} == "clang":?-no-integrated-as:} 69AFLAGS.netbsd32_sigcode.S= ${${ACTIVE_CC} == "clang":?-no-integrated-as:} 70AFLAGS.spl.S= ${${ACTIVE_CC} == "clang":?-no-integrated-as:} 71CWARNFLAGS.ah_regdomain.c= ${${ACTIVE_CC} == "clang":?-Wno-error:} 72 73## 74## (5) link settings 75## 76TEXTADDR?= 0xffffffff80100000 77EXTRA_LINKFLAGS= -z max-page-size=0x100000 78LINKFLAGS_NORMAL= -X 79KERN_LDSCRIPT?= kern.ldscript 80LINKFORMAT= -T ${AMD64}/conf/${KERN_LDSCRIPT} 81 82## 83## (6) port specific target dependencies 84## 85 86# depend on CPU configuration 87locore.o machdep.o: Makefile 88 89acpi_wakeup_low.o amd64func.o busfunc.o cpufunc.o cpu_in_cksum.o: assym.h 90linux_support.o linux32_sigcode.o lock_stubs.o mptramp.o: assym.h 91netbsd32_sigcode.o: assym.h 92 93## 94## (7) misc settings 95## 96 97## 98## (8) config(8) generated machinery 99## 100%INCLUDES 101 102%OBJS 103 104%CFILES 105 106%SFILES 107 108%LOAD 109 110%RULES 111 112## Include rules for ACPI wakecode 113.include "$S/arch/x86/acpi/Makefile.wakecode.inc" 114 115## 116## (9) port independent kernel machinery 117## 118.include "$S/conf/Makefile.kern.inc" 119 120## 121## (10) Appending make options. 122## 123%MAKEOPTIONSAPPEND 124