1 ## -*- makefile -*- ------------------------------------------------------
3 ## Copyright 2001-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., 53 Temple Place Ste 330,
8 ## Boston MA 02111-1307, USA; either version 2 of the License, or
9 ## (at your option) any later version; incorporated herein by reference.
11 ## -----------------------------------------------------------------------
14 ## Make configuration for embedded directories
17 include $(MAKEDIR
)/syslinux.mk
19 GCCOPT
:= $(call gcc_ok
,-m32
,)
20 GCCOPT
+= $(call gcc_ok
,-ffreestanding
,)
21 GCCOPT
+= $(call gcc_ok
,-fno-stack-protector
,)
22 GCCOPT
+= $(call gcc_ok
,-fwrapv
,)
23 GCCOPT
+= $(call gcc_ok
,-freg-struct-return
,)
24 GCCOPT
+= -march
=i386
-Os
-fomit-frame-pointer
-mregparm
=3 -DREGPARM
=3 \
26 GCCOPT
+= $(call gcc_ok
,-fno-exceptions
,)
27 GCCOPT
+= $(call gcc_ok
,-fno-asynchronous-unwind-tables
,)
28 GCCOPT
+= $(call gcc_ok
,-fno-strict-aliasing
,)
29 GCCOPT
+= $(call gcc_ok
,-falign-functions
=0,-malign-functions
=0)
30 GCCOPT
+= $(call gcc_ok
,-falign-jumps
=0,-malign-jumps
=0)
31 GCCOPT
+= $(call gcc_ok
,-falign-labels
=0,-malign-labels
=0)
32 GCCOPT
+= $(call gcc_ok
,-falign-loops
=0,-malign-loops
=0)
33 GCCOPT
+= $(call gcc_ok
,-mpreferred-stack-boundary
=2,)
34 GCCOPT
+= $(call gcc_ok
,-mincoming-stack-boundary
=2,)
36 LIBGCC
:= $(shell $(CC
) $(GCCOPT
) --print-libgcc
)
40 # Note: use += for CFLAGS and SFLAGS in case something is set in MCONFIG.local
41 CFLAGS
+= $(GCCOPT
) -g
$(GCCWARN
) -Wno-sign-compare
$(OPTFLAGS
) $(INCLUDES
)
42 SFLAGS
+= $(CFLAGS
) -D__ASSEMBLY__
44 .SUFFIXES
: .c .o .S .s .i .elf .com .bin .asm .lst .c32 .lss
47 $(CC
) $(MAKEDEPS
) $(CFLAGS
) -c
-o
$@
$<
49 $(CC
) $(MAKEDEPS
) $(CFLAGS
) -E
-o
$@
$<
51 $(CC
) $(MAKEDEPS
) $(CFLAGS
) -S
-o
$@
$<
53 $(CC
) $(MAKEDEPS
) $(SFLAGS
) -Wa
,-a
=$*.lst
-c
-o
$@
$<
55 $(CC
) $(MAKEDEPS
) $(SFLAGS
) -E
-o
$@
$<