CFLAGS=-g -O2 -Wall
LDFLAGS=$(CFLAGS) -Xlinker --allow-multiple-definition
FDAV_NODEBUG_STRIP=strip
FDAV_NODEBUG_UPX=upx --best --lzma
LIBRARIES=/dev/env/DJDIR/lib/libclamav.la -ldialog -lncurses
OBJECTS=fdav.o fdav_cli.o fdav_tui.o

all: fdav.exe helpcomp.exe fdav.hlp

fdav.exe: $(OBJECTS)
	libtool --tag=CC --mode=link gcc.exe $(LDFLAGS) -o fdav.exe $(OBJECTS) $(LIBRARIES)

fdav.hlp: helpcomp.exe fdav.hcm
	helpcomp fdav.hcm fdav.hlp

helpcomp.exe: helpcomp.o readhelp.o
	gcc -o helpcomp.exe helpcomp.o readhelp.o

dist: fdav.exe helpcomp.exe
	$(FDAV_NODEBUG_STRIP) fdav.exe
	$(FDAV_NODEBUG_UPX) fdav.exe
	@-rm -rf fdavpkg
	mkdir fdavpkg
	@cd fdavpkg
	mkdir bin
	mkdir lib
	mkdir appinfo
	mkdir source
	mkdir source/fdav
	mkdir packages
	mkdir packages/fdavx
	echo @echo off > packages/fdavx/remove.bat
	echo "del %DOSDIR%\bin\fdav.log %DOSDIR%\bin\fdav.ini" >> packages/fdavx/remove.bat
	echo !clamav > packages/fdavx/depends.txt
	@cd ..
	cp fdav.exe fdav.hlp fdavpkg/bin
	cp fdav.lsm fdavpkg/appinfo
	cp *.cvd fdavpkg/lib
	cp *.c *.h fdav.hcm makefile fdavpkg/source/fdav
	@cd fdavpkg
	zip -9 -r -qq ../fdavx.zip appinfo bin lib packages
	zip -9 -r -qq ../fdavs.zip source
	@cd ..

clean:
	rm -rf fdav*.o fdav.exe fdav.hlp .libs
	rm -rf freedos

fdav.o: fdav.c fdav.h
fdav_cli.o: fdav_cli.c fdav.h
fdav_tui.o: fdav_tui.c fdav.h
helpcomp.o: helpcomp.c helpcomp.h
readhelp.o: readhelp.c helpcomp.h
