1 INCLUDES := $(shell echo | cpp -v 2>&1 | sed -n '/\#include "..." search starts here:/,/End of search list./p' | grep "^ " | sed "s/^ \(.*\)$$/-I\1\/ddk/" | tr "\n" " " | sed "s/ $$//" | sed ":start;s/\/[^\/]*\/\.\.\//\//;t start")
3 # Next line is duplicated in config.bat, edit both when adding files.
4 c := driver.c registry.c bus.c aoedisk.c aoe.c protocol.c debug.c probe.c winvblock.rc
5 h := driver.h aoe.h protocol.h mount.h portable.h
7 # This is also duplicated in config.bat.
8 # The c style aoe.0 is not yet stable enough to use.
12 all: bin/aoe.0 bin/loader32.exe bin/wvblk32.sys bin/aoe.exe bin/winvblk.inf bin/txtsetup.oem
15 @rm -rf src/obj src/nbp/pxe.asm/obj src/nbp/pxe.c/obj bin
18 @sh -c "unset \`set | cut -f 1 -d \"=\" | egrep -v \"PATH|COMSPEC\"\` 2> /dev/null ; cmd /c makedist.bat"
20 free: bin/winvblk.inf bin/txtsetup.oem $(addprefix src/,$c $h) Makefile
21 @sh -c "unset \`set | cut -f 1 -d \"=\" | egrep -v \"PATH|COMSPEC\"\` 2> /dev/null ; cmd /c makefree.bat"
22 @touch -r Makefile $(wildcard bin/*.sys)
24 checked: bin/winvblk.inf bin/txtsetup.oem $(addprefix src/,$c $h) Makefile
25 @sh -c "unset \`set | cut -f 1 -d \"=\" | egrep -v \"PATH|COMSPEC\"\` 2> /dev/null ; cmd /c makechecked.bat"
26 @touch -r Makefile $(wildcard bin/*.sys)
28 bin/aoe.0: src/nbp/pxe.$(PXESTYLE)/aoe.0 Makefile
30 cp src/nbp/pxe.$(PXESTYLE)/aoe.0 bin
32 src/nbp/pxe.$(PXESTYLE)/aoe.0: $(wildcard src/nbp/pxe.$(PXESTYLE)/*.c) $(wildcard src/nbp/pxe.$(PXESTYLE)/*.h) $(wildcard src/nbp/pxe.$(PXESTYLE)/*.S) src/nbp/pxe.$(PXESTYLE)/aoe.ld src/nbp/pxe.$(PXESTYLE)/Makefile Makefile
33 rm -rf src/nbp/pxe.$(PXESTYLE)/aoe.0
34 make -C src/nbp/pxe.$(PXESTYLE)
36 bin/winvblk.inf bin/txtsetup.oem: makeinf.bat Makefile
37 @sh -c "unset \`set | cut -f 1 -d \"=\" | egrep -v \"PATH|COMSPEC\"\` 2> /dev/null ; cmd /c makeinf.bat ; exit 0" >/dev/null 2>&1
39 touch bin/txtsetup.oem
41 src/loader/obj/loader32.o: src/loader/loader.c src/portable.h Makefile
42 @mkdir -p src/loader/obj
43 @rm -rf src/loader/obj/loader32.o bin/loader32.exe bin/loader64.exe
44 gcc $(INCLUDES) -c -Wall src/loader/loader.c -o src/loader/obj/loader32.o
46 bin/loader32.exe: src/loader/obj/loader32.o Makefile
48 @rm -rf bin/loader32.exe bin/loader64.exe
49 gcc $(INCLUDES) -Wall src/loader/obj/loader32.o -o bin/loader32.exe -lsetupapi
50 strip bin/loader32.exe
52 src/util/obj/winvblk.o: src/util/winvblk.c src/portable.h src/mount.h Makefile
54 @rm -rf src/util/obj/winvblk.o bin/aoe.exe
55 gcc -Wall -c src/util/winvblk.c -o src/util/obj/winvblk.o
57 bin/aoe.exe: src/util/obj/winvblk.o Makefile
60 gcc -Wall src/util/obj/winvblk.o -o bin/aoe.exe
63 src/obj/driver.o: src/driver.c src/portable.h src/driver.h Makefile
65 @rm -rf src/obj/driver.o src/obj/aoe.tmp src/obj/aoe.exp bin/wvblk32.sys bin/wvblk64.sys bin/wvblk32.pdb bin/wvblk64.pdb bin/loader64.exe
66 gcc $(INCLUDES) -c -Wall src/driver.c -o src/obj/driver.o
68 src/obj/registry.o: src/registry.c src/portable.h Makefile
70 @rm -rf src/obj/registry.o src/obj/aoe.tmp src/obj/aoe.exp bin/wvblk32.sys bin/wvblk64.sys bin/wvblk32.pdb bin/wvblk64.pdb bin/loader64.exe
71 gcc $(INCLUDES) -c -Wall src/registry.c -o src/obj/registry.o
73 src/obj/bus.o: src/bus.c src/portable.h src/driver.h src/aoe.h src/mount.h Makefile
75 @rm -rf src/obj/bus.o src/obj/aoe.tmp src/obj/aoe.exp bin/wvblk32.sys bin/wvblk64.sys bin/wvblk32.pdb bin/wvblk64.pdb bin/loader64.exe
76 gcc $(INCLUDES) -c -Wall src/bus.c -o src/obj/bus.o
78 src/obj/aoedisk.o: src/aoedisk.c src/portable.h src/driver.h src/aoe.h Makefile
80 @rm -rf src/obj/aoedisk.o src/obj/aoe.tmp src/obj/aoe.exp bin/wvblk32.sys bin/wvblk64.sys bin/wvblk32.pdb bin/wvblk64.pdb bin/loader64.exe
81 gcc $(INCLUDES) -c -Wall src/aoedisk.c -o src/obj/aoedisk.o
83 src/obj/aoe.o: src/aoe.c src/portable.h src/driver.h src/aoe.h src/protocol.h Makefile
85 @rm -rf src/obj/aoe.o src/obj/aoe.tmp src/obj/aoe.exp bin/wvblk32.sys bin/wvblk64.sys bin/wvblk32.pdb bin/wvblk64.pdb bin/loader64.exe
86 gcc $(INCLUDES) -c -Wall src/aoe.c -o src/obj/aoe.o
88 src/obj/protocol.o: src/protocol.c src/portable.h src/driver.h src/aoe.h src/protocol.h Makefile
90 @rm -rf src/obj/protocol.o src/obj/aoe.tmp src/obj/aoe.exp bin/wvblk32.sys bin/wvblk64.sys bin/wvblk32.pdb bin/wvblk64.pdb bin/loader64.exe
91 gcc $(INCLUDES) -c -Wall src/protocol.c -o src/obj/protocol.o
93 src/obj/debug.o: src/debug.c src/portable.h src/driver.h src/mount.h Makefile
95 @rm -rf src/obj/debug.o src/obj/aoe.tmp src/obj/aoe.exp bin/wvblk32.sys bin/wvblk64.sys bin/wvblk32.pdb bin/wvblk64.pdb bin/loader64.exe
96 gcc $(INCLUDES) -c -Wall src/debug.c -o src/obj/debug.o
98 src/obj/probe.o: src/probe.c src/portable.h src/driver.h src/mount.h Makefile
100 @rm -rf src/obj/probe.o src/obj/aoe.tmp src/obj/aoe.exp bin/wvblk32.sys bin/wvblk64.sys bin/wvblk32.pdb bin/wvblk64.pdb bin/loader64.exe
101 gcc $(INCLUDES) -c -Wall src/probe.c -o src/obj/probe.o
103 src/obj/aoe.tmp: src/obj/driver.o src/obj/registry.o src/obj/bus.o src/obj/aoedisk.o src/obj/aoe.o src/obj/protocol.o src/obj/debug.o probe.o Makefile
105 @rm -rf src/obj/aoe.tmp src/obj/aoe.exp bin/wvblk32.sys bin/wvblk64.sys bin/wvblk32.pdb bin/wvblk64.pdb bin/loader64.exe
106 @gcc -Wall src/obj/driver.o src/obj/registry.o src/obj/bus.o src/obj/aoedisk.o src/obj/aoe.o src/obj/protocol.o src/obj/debug.o src/obj/probe.o -Wl,--base-file,src/obj/aoe.tmp -Wl,--entry,_DriverEntry@8 -nostartfiles -nostdlib -lntoskrnl -lhal -lndis -o null
109 src/obj/aoe.exp: src/obj/aoe.tmp Makefile
111 @rm -rf src/obj/aoe.exp bin/wvblk32.sys bin/wvblk64.sys bin/wvblk32.pdb bin/wvblk64.pdb bin/loader64.exe
112 @dlltool --dllname wvblk32.sys --base-file src/obj/aoe.tmp --output-exp src/obj/aoe.exp
114 bin/wvblk32.sys: src/obj/driver.o src/obj/registry.o src/obj/bus.o src/obj/aoedisk.o src/obj/aoe.o src/obj/protocol.o src/obj/debug.o src/obj/probe.o src/obj/aoe.exp Makefile
116 @rm -rf bin/wvblk32.sys bin/wvblk64.sys bin/wvblk32.pdb bin/wvblk64.pdb bin/loader64.exe
117 @gcc -Wall src/obj/driver.o src/obj/registry.o src/obj/bus.o src/obj/aoedisk.o src/obj/aoe.o src/obj/protocol.o src/obj/debug.o src/obj/probe.o -Wl,--subsystem,native -Wl,--entry,_DriverEntry@8 -Wl,src/obj/aoe.exp -mdll -nostartfiles -nostdlib -lntoskrnl -lhal -lndis -o bin/wvblk32.sys
118 # strip bin/wvblk32.sys