xref: /freebsd/sys/conf/Makefile.powerpc (revision 604d0dd551fa7d275cdf69911c9df4595a42f49f)
1# Makefile.powerpc -- with config changes.
2# Copyright 1990 W. Jolitz
3#	from: @(#)Makefile.i386	7.1 5/10/91
4# $FreeBSD$
5#
6# Makefile for FreeBSD
7#
8# This makefile is constructed from a machine description:
9#	config machineid
10# Most changes should be made in the machine description
11#	/sys/powerpc/conf/``machineid''
12# after which you should do
13#	 config machineid
14# Generic makefile changes should be made in
15#	/sys/conf/Makefile.powerpc
16# after which config should be rerun for all machines.
17#
18
19# Which version of config(8) is required.
20%VERSREQ=	600012
21
22STD8X16FONT?=	iso
23
24.if !defined(S)
25.if exists(./@/.)
26S=	./@
27.else
28S=	../../..
29.endif
30.endif
31
32LDSCRIPT_NAME?= ldscript.${MACHINE_ARCH}
33
34.include "$S/conf/kern.pre.mk"
35
36INCLUDES+= -I$S/contrib/libfdt
37
38.if "${MACHINE_ARCH}" == "powerpcspe"
39# Force __SPE__, since the builtin will be removed later with -mno-spe
40CFLAGS.gcc+= -mabi=spe -D__SPE__
41CFLAGS.clang+= -mspe -D__SPE__ -m32
42.endif
43CFLAGS+= -msoft-float
44CFLAGS.gcc+= -Wa,-many
45
46# Apply compiler-specific DPAA exceptions.
47.if "${COMPILER_TYPE}" == "clang"
48DPAAWARNFLAGS += \
49        -Wno-error=parentheses-equality \
50        -Wno-error=self-assign \
51        -Wno-error=incompatible-pointer-types-discards-qualifiers \
52        -Wno-error=non-literal-null-conversion \
53        -Wno-error=enum-conversion
54.elif "${COMPILER_TYPE}" == "gcc" && ${COMPILER_VERSION} >= 50200
55DPAAWARNFLAGS += \
56	-Wno-error=redundant-decls \
57	-Wno-error=int-in-bool-context
58.endif
59
60# Build position-independent kernel
61CFLAGS+= -fPIC
62LDFLAGS+= -pie
63
64.if !empty(DDB_ENABLED)
65CFLAGS+=	-fno-omit-frame-pointer
66.endif
67
68%BEFORE_DEPEND
69
70%OBJS
71
72%FILES.c
73
74%FILES.s
75
76%FILES.m
77
78%CLEAN
79
80%RULES
81
82.include "$S/conf/kern.post.mk"
83