1 ## -*- makefile -*- -------------------------------------------------------
3 ## Copyright 2008 H. Peter Anvin - All Rights Reserved
5 ## This program is free software; you can redistribute it and/or modify
6 ## it under the terms of the GNU General Public License as published by
7 ## the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
8 ## Boston MA 02110-1301, USA; either version 2 of the License, or
9 ## (at your option) any later version; incorporated herein by reference.
11 ## -----------------------------------------------------------------------
14 ## Common configurables
25 AUXDIR
= $(DATADIR
)/syslinux
26 DIAGDIR
= $(AUXDIR
)/diag
30 COM32DIR
= $(AUXDIR
)/com32
33 EXTLINUXDIR
= $(BOOTDIR
)/extlinux
36 # This allows DEBUGOPT to be set from the command line
37 DEBUGOPT
= -DDEBUG
=$(DEBUG
)
41 NASMOPT
= -Ox
$(DEBUGOPT
)
50 gcc_ok
= $(shell tmpf
=gcc_ok.
$$$$.tmp
; \
51 if
$(CC
) $(GCCOPT
) $(1) -c
$(topdir
)/dummy.c \
52 -o
$$tmpf 2>/dev
/null
; \
53 then echo
'$(1)'; else echo
'$(2)'; fi
; \
73 com32
= $(topdir
)/com32
75 # Architecture definition
76 SUBARCH
:= $(shell uname
-m | sed
-e s
/i
.86/i386
/)
77 # on x86_64, ARCH has trailing whitespace
78 # strip white spaces in ARCH
79 ARCH ?
= $(strip $(SUBARCH
))
81 # Common warnings we want for all gcc-generated code
82 GCCWARN
= -W
-Wall
-Wstrict-prototypes
$(DEBUGOPT
)
84 # Common stanza to make gcc generate .*.d dependency files
85 MAKEDEPS
= -Wp
,-MT
,$@
,-MD
,$(dir $@
).
$(notdir $@
).d
87 # Dependencies that exclude system headers; use whenever we use
88 # header files from the platform.
89 UMAKEDEPS
= -Wp
,-MT
,$@
,-MMD
,$(dir $@
).
$(notdir $@
).d
91 # Items that are only appropriate during development; this file is
92 # removed when tarballs are generated.
93 -include $(MAKEDIR
)/devel.mk
95 # Local additions, like -DDEBUG can go here
96 -include $(MAKEDIR
)/local.mk