#
# OS/2 makefile
# Digi, 2020
#

VERSION      = 1.0.4.1
DESCRIPTION  = Atomiks (C) Mateusz Viste
AUTHOR       = Andrey Vasilkin

RC = rc16.exe

BINPATH = ..\atomiks
EXEFILE = atomiks.exe
DEFFILE = atomiks.def

LIBS = -L/@unixroot/usr/local/lib -lsdl2 -lsdl2_mixer
SRCS = atomiks.c atomcore.c cfg.c drv_gra.c drv_inp.c drv_snd.c drv_tim.c gz.c

CFLAGS = -O3 -Wall -pedantic -Wextra -Wno-long-long -I/@unixroot/usr/local/inlude
LDFLAGS = $(LIBS) -Zhigh-mem
OBJS = $(SRCS:.c=.o)

all: $(EXEFILE) editor.exe

$(EXEFILE): levels.h $(DEFFILE) $(OBJS) atomiks.res
	$(CC) $(OBJS) $(DEFFILE) $(LDFLAGS) -o $@
	@lxlite /CS "$@" >nul
	$(RC) -n atomiks.res $@ >nul
	@if not exist $(BINPATH) md $(BINPATH)
	copy $(EXEFILE) $(BINPATH)
	copy history.txt $(BINPATH)
	copy license.txt $(BINPATH)
	copy readme.txt $(BINPATH)


#atomiks.o: atomiks.c
#	gcc -c atomiks.c -o atomiks.o $(CFLAGS)

levels.h: file2c.exe lev/lev*.dat
	echo /* autogenerated file */ > $@
	bin2h.cmd lev/*.dat >> $@

file2c.exe: file2c.c
	gcc $(LDFLAGS) file2c.c -o $@

editor.exe: editor.c atomcore.o drv_gra.o gz.o
	gcc $(CFLAGS) editor.c atomcore.o drv_gra.o gz.o $(LDFLAGS) -o $@
	@lxlite /CS "$@" >nul

$(DEFFILE):
	@echo NAME $(EXEFILE) windowapi >$@
	@cmd /c %unixroot%\\usr\\libexec\\bin\\date +"DESCRIPTION '@#$(AUTHOR):$(VERSION)#@##1## %F %T      %HOSTNAME%::::::@@$(DESCRIPTION)'" >>$@

atomiks.res: atomiks.rc
	$(RC) -r -n atomiks.rc

#png2bmp.exe: png2bmp.c
#	gcc $(CFLAGS) png2bmp.c -o png2bmp -L. -lSDL2_image
#
#zopfli.exe: zopfli-1.0/*.c
#	gcc zopfli-1.0/*.c -O2 -W -Wall -Wextra -ansi -pedantic -lm -o $@
#
#data.h: img/*.png snd/*.mod snd/*.wav zopfli file2c png2bmp
#	echo "/* autogenerated file */" > data.h
#	for x in img/*.png ; do ./png2bmp $$x ; done
#	for x in img/*.bmp ; do ./zopfli $$x ; done
#	rm img/*.bmp
#	for x in img/*.bmp.gz ; do ./file2c $$x >> data.h ; done
#	rm img/*.bmp.gz
#	for x in snd/*.mod ; do ./file2c $$x >> data.h ; done
#	for x in snd/*.wav ; do ./file2c $$x >> data.h ; done


clean:
	rm -f $(EXEFILE) $(OBJS) $(DEFFILE) levels.h atomiks.res editor.exe file2c.exe
