1 ## -----------------------------------------------------------------------
3 ## Copyright 1998-2008 H. Peter Anvin - All Rights Reserved
4 ## Copyright 2010 Intel Corporation; author: H. Peter Anvin
6 ## This program is free software; you can redistribute it and/or modify
7 ## it under the terms of the GNU General Public License as published by
8 ## the Free Software Foundation, Inc., 53 Temple Place Ste 330,
9 ## Boston MA 02111-1307, USA; either version 2 of the License, or
10 ## (at your option) any later version; incorporated herein by reference.
12 ## -----------------------------------------------------------------------
15 # Makefile for SYSLINUX Win64
17 # This is separated out mostly so we can have a different set of Makefile
21 OSTYPE
= $(shell uname
-msr
)
22 # Don't know how to do a native compile here...
23 WINPREFIX
:= $(shell .
/find-mingw64.sh gcc
)
24 WINCFLAGS
:= $(GCCWARN
) -Wno-sign-compare
-Os
-fomit-frame-pointer \
25 -D_FILE_OFFSET_BITS
=64
28 WINCFLAGS
+= -I.
-I..
/win
-I..
-I..
/libfat
-I..
/libinstaller \
29 -I..
/libinstaller
/getopt
31 WINCC
:= $(WINPREFIX
)gcc
32 WINAR
:= $(WINPREFIX
)ar
33 WINRANLIB
:= $(WINPREFIX
)ranlib
35 WINCC_IS_GOOD
:= $(shell $(WINCC
) $(WINCFLAGS
) $(WINLDFLAGS
) \
36 -o hello.exe ..
/win
/hello.c
>/dev
/null
2>&1 ; echo
$$?
)
38 .SUFFIXES
: .c .obj .lib .exe .i .s .S
40 SRCS
= ..
/win
/syslinux.c
41 OBJS
= $(patsubst %.c
,%.obj
,$(notdir $(SRCS
)))
42 LIBSRC
= ..
/libinstaller
/fat.c \
43 ..
/libinstaller
/syslxmod.c \
44 ..
/libinstaller
/syslxopt.c \
45 ..
/libinstaller
/setadv.c \
46 ..
/libinstaller
/getopt
/getopt_long.c \
47 ..
/libinstaller
/bootsect_bin.c \
48 ..
/libinstaller
/ldlinux_bin.c \
49 ..
/libinstaller
/mbr_bin.c \
50 $(wildcard ..
/libfat
/*.c
)
51 LIBOBJS
= $(patsubst %.c
,%.obj
,$(notdir $(LIBSRC
)))
55 VPATH
= .
:..
/win
:..
/libfat
:..
/libinstaller
:..
/libinstaller
/getopt
57 TARGETS
= syslinux64.exe
59 ifeq ($(WINCC_IS_GOOD
),0)
67 -rm -f
*.o
*.obj
*.lib
*.i
*.s
*.a .
*.d
*.tmp
*_bin.c hello.exe
81 syslinux64.exe
: $(OBJS
) $(LIB
)
82 $(WINCC
) $(WINLDFLAGS
) -o
$@
$^
86 $(WINCC
) $(UMAKEDEPS
) $(WINCFLAGS
) -c
-o
$@
$<
88 $(WINCC
) $(UMAKEDEPS
) $(WINCFLAGS
) -E
-o
$@
$<
90 $(WINCC
) $(UMAKEDEPS
) $(WINCFLAGS
) -S
-o
$@
$<