RELEASETARGET = zdoomgcc.exe
DEBUGTARGET = zdoomgccd.exe

all: basetools game
debug: basetools debuggame
release: basetools game

ifndef CONFIG
  CONFIG=Release
endif

game: basetools ccdv.exe
	@$(MAKE) -f Makefile.mingw

debuggame: basetools ccdv.exe
	@$(MAKE) CONFIG=Debug -f Makefile.mingw

$(RELEASETARGET): game
$(DEBUGTARGET): debuggame

basetools: ccdv.exe
	$(MAKE) -C tools/lemon
	$(MAKE) -C tools/re2c
	$(MAKE) -C zlib -f Makefile.mgw
	$(MAKE) -C tools/makewad
	$(MAKE) -C tools/dehsupp
	$(MAKE) -C tools/xlatcc
	$(MAKE) -C tools/fixrtext
	$(MAKE) -C wadsrc -f Makefile.mgw
	$(MAKE) -C flac -f Makefile.mgw
	$(MAKE) -C jpeg-6b -f Makefile.mgw

cleanexe:
	@$(MAKE) -C . -f Makefile.mingw clean

clean:
	@$(MAKE) -C tools/lemon clean
	@$(MAKE) -C tools/re2c clean
	@$(MAKE) -C tools/dehsupp clean
	@$(MAKE) -C tools/makewad clean
	@$(MAKE) -C tools/xlatcc clean
	@$(MAKE) -C tools/fixrtext clean
	@$(MAKE) -C wadsrc -f Makefile.mgw clean
	@$(MAKE) -C . -f Makefile.mingw clean
	@$(MAKE) -C zlib -f Makefile.mgw clean
	@$(MAKE) -C flac -f Makefile.mgw clean
	@$(MAKE) -C jpeg-6b -f Makefile.mgw clean
ifeq ($(findstring msys,$(shell sh --version 2>nul)),msys)
	rm -f ccdv.exe
else
	del /q /f ccdv.exe 2>nul
endif

ccdv.exe: ccdv-win32.c
	@gcc -Os -s -nostdlib -fomit-frame-pointer -o ccdv.exe ccdv-win32.c -lkernel32 -luser32