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 Win32 NTFS file cluster test
17 # This is separated out mostly so we can have a different set of Makefile
21 OSTYPE
= $(shell uname
-msr
)
22 ifeq ($(findstring CYGWIN
,$(OSTYPE
)),CYGWIN
)
23 ## Compiling on Cygwin
25 WINCFLAGS
:= -mno-cygwin
$(GCCWARN
) -Os
-fomit-frame-pointer
-D_FILE_OFFSET_BITS
=64
26 WINLDFLAGS
:= -mno-cygwin
-Os
-s
28 ## Compiling on some variant of MinGW
29 ifeq ($(findstring MINGW32
,$(OSTYPE
)),MINGW32
)
32 WINPREFIX
:= $(shell ..
/find-mingw32.sh gcc
)
34 WINCFLAGS
:= $(GCCWARN
) -Wno-sign-compare
-Os
-fomit-frame-pointer \
35 -D_FILE_OFFSET_BITS
=64
38 WINCFLAGS
+= -I.
-I..
/..
/win
40 WINCC
:= $(WINPREFIX
)gcc
41 WINAR
:= $(WINPREFIX
)ar
42 WINRANLIB
:= $(WINPREFIX
)ranlib
43 WINDRES
:= $(WINPREFIX
)windres
45 WINCC_IS_GOOD
:= $(shell $(WINCC
) $(WINCFLAGS
) $(WINLDFLAGS
) \
46 -o hello.exe ..
/..
/win
/hello.c
>/dev
/null
2>&1 ; echo
$$?
)
48 .SUFFIXES
: .c .obj .lib .exe .i .s .S .rc .res
50 SRCS
= ..
/..
/win
/ntfstest.c ..
/..
/win
/ntfssect.c
51 RCS
= ..
/..
/win
/ntfstest.rc
52 OBJS
= $(patsubst %.c
,%.obj
,$(notdir $(SRCS
)))
53 RESS
= $(patsubst %.rc
,%.res
,$(notdir $(RCS
)))
57 TARGETS
= ntfstest.exe
59 ifeq ($(WINCC_IS_GOOD
),0)
67 -rm -f
*.o
*.obj
*.lib
*.i
*.s
*.a .
*.d
*.tmp
*_bin.c hello.exe
74 ntfstest.exe
: $(OBJS
) $(RESS
)
75 $(WINCC
) $(WINLDFLAGS
) -o
$@
$^
79 $(WINCC
) $(UMAKEDEPS
) $(WINCFLAGS
) -c
-o
$@
$<
81 $(WINCC
) $(UMAKEDEPS
) $(WINCFLAGS
) -E
-o
$@
$<
83 $(WINCC
) $(UMAKEDEPS
) $(WINCFLAGS
) -S
-o
$@
$<
85 $(WINDRES
) -O COFF
$< $@