Home | History | Annotate | Download | only in ntfstest
      1 ## -----------------------------------------------------------------------
      2 ##
      3 ##   Copyright 1998-2008 H. Peter Anvin - All Rights Reserved
      4 ##   Copyright 2010 Intel Corporation; author: H. Peter Anvin
      5 ##
      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.
     11 ##
     12 ## -----------------------------------------------------------------------
     13 
     14 #
     15 # Makefile for Win64 NTFS file cluster test
     16 #
     17 # This is separated out mostly so we can have a different set of Makefile
     18 # variables.
     19 #
     20 
     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
     26 WINLDFLAGS := -Os -s
     27 WINCFLAGS += -I. -I../../win
     28 
     29 WINCC      := $(WINPREFIX)gcc
     30 WINAR	   := $(WINPREFIX)ar
     31 WINRANLIB  := $(WINPREFIX)ranlib
     32 WINDRES    := $(WINPREFIX)windres
     33 
     34 WINCC_IS_GOOD := $(shell $(WINCC) $(WINCFLAGS) $(WINLDFLAGS) \
     35 	-o hello.exe ../../win/hello.c >/dev/null 2>&1 ; echo $$?)
     36 
     37 .SUFFIXES: .c .obj .lib .exe .i .s .S .rc .res
     38 
     39 SRCS     = ../../win/ntfstest.c ../../win/ntfssect.c
     40 RCS      = ../../win/ntfstest.rc
     41 OBJS     = $(patsubst %.c,%.obj,$(notdir $(SRCS)))
     42 RESS     = $(patsubst %.rc,%.res,$(notdir $(RCS)))
     43 
     44 VPATH = .:../../win
     45 
     46 TARGETS = ntfstest64.exe
     47 
     48 ifeq ($(WINCC_IS_GOOD),0)
     49 all: $(TARGETS)
     50 else
     51 all:
     52 	rm -f $(TARGETS)
     53 endif
     54 
     55 tidy dist:
     56 	-rm -f *.o *.obj *.lib *.i *.s *.a .*.d *.tmp *_bin.c hello.exe
     57 
     58 clean: tidy
     59 
     60 spotless: clean
     61 	-rm -f *~ $(TARGETS)
     62 
     63 ntfstest64.exe: $(OBJS) $(RESS)
     64 	$(WINCC) $(WINLDFLAGS) -o $@ $^
     65 
     66 
     67 %.obj: %.c
     68 	$(WINCC) $(UMAKEDEPS) $(WINCFLAGS) -c -o $@ $<
     69 %.i: %.c
     70 	$(WINCC) $(UMAKEDEPS) $(WINCFLAGS) -E -o $@ $<
     71 %.s: %.c
     72 	$(WINCC) $(UMAKEDEPS) $(WINCFLAGS) -S -o $@ $<
     73 %.res: %.rc
     74 	$(WINDRES) -O COFF $< $@
     75 
     76 -include .*.d
     77