1 ## -----------------------------------------------------------------------
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 ## samples for syslinux users
17 TMPFILE
= $(shell mktemp
/tmp
/gcc_ok.XXXXXX
)
21 gcc_ok
= $(shell tmpf
=$(TMPFILE
); if
$(CC
) $(1) -c
-x c
/dev
/null
-o
$$tmpf 2>/dev
/null
; \
22 then echo
$(1); else echo
$(2); fi
; rm -f
$$tmpf)
24 M32
:= $(call gcc_ok
,-m32
,) $(call gcc_ok
,-ffreestanding
,) $(call gcc_ok
,-fno-stack-protector
,)
31 CFLAGS
= $(M32
) -W
-Wall
-march
=i386
-Os
-fomit-frame-pointer
-I..
/com32
/include
32 SFLAGS
= $(M32
) -march
=i386
35 PPMTOLSS16
= ..
/utils
/ppmtolss16
40 LIBOBJS
= conio.o atou.o skipatou.o printf.o c32exit.o
42 .SUFFIXES
: .lss .c .o .elf .c32
44 all: syslogo.lss comecho.com hello.c32 hello2.c32 filetest.c32 c32echo.c32 \
49 $(CC
) $(SFLAGS
) -c
-o
$@
$<
53 $(CC
) $(CFLAGS
) -c
-o
$@
$<
56 %.elf
: c32entry.o
%.o
$(LIB
)
57 $(LD
) -Ttext
0x101000 -e _start
-o
$@
$^
60 $(OBJCOPY
) -O binary
$< $@
63 $(NASM
) $(NASMOPT
) -f bin
-o
$@
-l
$*.lst
$<
70 %.lss
: %.ppm.gz
$(PPMTOLSS16
)
71 $(GZIPPROG
) -cd
$< | \
72 $(PPMTOLSS16
) \
#000000=0 \#d0d0d0=7 \#f6f6f6=15 \
76 $(PNGTOPNM
) $< | gzip
-9 > $@
79 rm -f
*.o
*.a
*.lst
*.elf
81 # Don't specify *.com since mdiskchk.com can't be built using Linux tools
83 rm -f
*.lss
*.o
*.c32 comecho.com