DEBUG=/debug
KERNEL32_METHOD=

all: 
	cl /nologo ${KERNEL32_METHOD} connectback.c /link ${DEBUG} ws2_32.lib
	cl /nologo ${KERNEL32_METHOD} connectback9x.c /link ${DEBUG}
	cl /nologo ${KERNEL32_METHOD} download.c /link ${DEBUG}
	cl /nologo ${KERNEL32_METHOD} egghunt.c /link ${DEBUG}
	cl /nologo ${KERNEL32_METHOD} egghunt_syscall.c /link ${DEBUG}
	cl /nologo ${KERNEL32_METHOD} findfdread.c /link ${DEBUG} ws2_32.lib
	cl /nologo ${KERNEL32_METHOD} iatread.c /link ${DEBUG} ws2_32.lib
	cl /nologo ${KERNEL32_METHOD} portbind.c /link ${DEBUG} ws2_32.lib
	cl /nologo ${KERNEL32_METHOD} reboot.c /link ${DEBUG}
	cl /nologo ${KERNEL32_METHOD} staticfdread.c /link ${DEBUG} ws2_32.lib
	cl /nologo ${KERNEL32_METHOD} upexec.c /link ${DEBUG} ws2_32.lib

disp:
	nasm -f win32 dispatcher.s -o dispatcher.o
	cl dispatcher-driver.c /link /out:dispatcher.exe dispatcher.o kernel32.lib ws2_32.lib /debug

clean:
	rm -f connectback.exe connectback.ilk connectback.obj connectback.pdb \
			connectback9x.exe connectback9x.ilk connectback9x.obj connectback9x.pdb \
			download.exe download.ilk download.obj download.pdb \
			egghunt.exe egghunt.ilk egghunt.obj egghunt.pdb      \
			egghunt_syscall.exe egghunt_syscall.ilk egghunt_syscall.obj egghunt_syscall.pdb      \
			findfdread.exe findfdread.ilk findfdread.obj findfdread.pdb         \
			iatread.exe iatread.ilk iatread.obj iatread.pdb         \
			portbind.exe portbind.ilk portbind.obj portbind.pdb \
			reboot.exe reboot.ilk reboot.obj reboot.pdb         \
			staticfdread.exe staticfdread.ilk staticfdread.obj staticfdread.pdb         \
			upexec.exe upexec.ilk upexec.obj upexec.pdb         
