CFLAGS = -std=gnu89 -s -O3 -Wall -Wextra -Wno-long-long -pedantic

all: fdnpkg.exe testlist.exe

fdnpkg.exe: fdnpkg.o kprintf.o kittendj.o fileexst.o htget.o loadconf.o pkgdb.o pkginst.o pkgsrch.o pkgrem.o getdelim.o rtrim.o libunzip.o parsecmd.o helpers.o
	gcc fdnpkg.o kprintf.o kittendj.o fileexst.o htget.o loadconf.o pkgdb.o pkginst.o pkgsrch.o pkgrem.o getdelim.o rtrim.o libunzip.o parsecmd.o helpers.o libunzip.a watt32/bin/libwatt.a -o fdnpkg.exe
	upx --lzma --best --all-filters fdnpkg.exe

fdnpkg.o: fdnpkg.c
	gcc -c fdnpkg.c -o fdnpkg.o $(CFLAGS)

htget.o: htget.c
	gcc -c htget.c -o htget.o $(CFLAGS) -I watt32/inc

loadconf.o: loadconf.c
	gcc -c loadconf.c -o loadconf.o $(CFLAGS)

pkgdb.o: pkgdb.c
	gcc -c pkgdb.c -o pkgdb.o $(CFLAGS)

pkgsrch.o: pkgsrch.c
	gcc -c pkgsrch.c -o pkgsrch.o $(CFLAGS)

pkgrem.o: pkgrem.c
	gcc -c pkgrem.c -o pkgrem.o $(CFLAGS)

pkginst.o: pkginst.c
	gcc -c pkginst.c -o pkginst.o $(CFLAGS)

getdelim.o: getdelim.c
	gcc -c getdelim.c -o getdelim.o $(CFLAGS)

fileexst.o: fileexst.c
	gcc -c fileexst.c -o fileexst.o $(CFLAGS)

kittendj.o: kittendj.c
	gcc -c kittendj.c -o kittendj.o $(CFLAGS)

kprintf.o: kprintf.c
	gcc -c kprintf.c -o kprintf.o $(CFLAGS)

rtrim.o: rtrim.c
	gcc -c rtrim.c -o rtrim.o $(CFLAGS)

parsecmd.o: parsecmd.c
	gcc -c parsecmd.c -o parsecmd.o $(CFLAGS)

libunzip.o: libunzip.c
	gcc -c libunzip.c -o libunzip.o $(CFLAGS)

helpers.o: helpers.c
	gcc -c helpers.c -o helpers.o $(CFLAGS)

crc32.o: crc32.c
	gcc -c crc32.c -o crc32.o $(CFLAGS)

# This one is for test only!
testlist.exe: testlist.c libunzip.o parsecmd.o kprintf.o kittendj.o
	gcc testlist.c libunzip.o parsecmd.o kprintf.o kittendj.o libunzip.a -o testlist.exe $(CFLAGS)

pkg: fdnpkg.exe
	mkdir appinfo
	mkdir bin
	mkdir doc
	mkdir doc\fdnpkg
	mkdir nls
	mkdir source
	mkdir source\fdnpkg
	copy fdnpkg.lsm appinfo
	copy fdnpkg.exe bin
	copy fdnpkg.cfg bin
	copy fdnpkg.txt doc\fdnpkg
	copy history.txt doc\fdnpkg
	copy license.txt doc\fdnpkg
	copy fdnpkg.en nls
	copy *.c source\fdnpkg
	copy *.h source\fdnpkg
	copy *.txt source\fdnpkg
	copy makefile source\fdnpkg
	copy *.a source\fdnpkg
	copy *.cfg source\fdnpkg
	del fdnpkg.zip
	zip -r -9 fdnpkg.zip appinfo bin doc nls source
	deltree /Y appinfo
	deltree /Y bin
	deltree /Y doc
	deltree /Y nls
	deltree /Y source
	echo "fdnpkg.zip ready!"

clean:
	del *.o
	del *.exe
