##### Win32 variables #####

WIN32_LHTGATOOL_EXE=lhtgatool.exe
WIN32_LHTGATOOL_LDFLAGS=-lm $(LDFLAGS)
WIN32_LHTGACLEANER_EXE=lhtgacleaner.exe
WIN32_LHTGACLEANER_LDFLAGS=-lm $(LDFLAGS)

##### Unix variables #####

UNIX_LHTGATOOL_EXE=lhtgatool
UNIX_LHTGATOOL_LDFLAGS=-lm $(LDFLAGS)
UNIX_LHTGACLEANER_EXE=lhtgacleaner
UNIX_LHTGACLEANER_LDFLAGS=-lm $(LDFLAGS)

##### Common variables #####

CC=gcc
#CFLAGS=-MD -Wall -O2
CFLAGS=-MD -Wall -g -ggdb

ifdef windir
CMD_RM=del
else
CMD_RM=rm -f
endif

##### Commands #####

.PHONY: all mingw clean

all:
ifdef windir
#	$(MAKE) LHTGATOOL_EXE=$(WIN32_LHTGATOOL_EXE) LHTGATOOL_LDFLAGS="$(WIN32_LHTGATOOL_LDFLAGS)" $(WIN32_LHTGATOOL_EXE)
	$(MAKE) LHTGACLEANER_EXE=$(WIN32_LHTGACLEANER_EXE) LHTGACLEANER_LDFLAGS="$(WIN32_LHTGACLEANER_LDFLAGS)" $(WIN32_LHTGACLEANER_EXE)
else
#	$(MAKE) LHTGATOOL_EXE=$(UNIX_LHTGATOOL_EXE) LHTGATOOL_LDFLAGS="$(UNIX_LHTGATOOL_LDFLAGS)" $(UNIX_LHTGATOOL_EXE)
	$(MAKE) LHTGACLEANER_EXE=$(UNIX_LHTGACLEANER_EXE) LHTGACLEANER_LDFLAGS="$(UNIX_LHTGACLEANER_LDFLAGS)" $(UNIX_LHTGACLEANER_EXE)
endif

mingw:
#	@$(MAKE) LHTGATOOL_EXE=$(WIN32_LHTGATOOL_EXE) LHTGATOOL_LDFLAGS="$(WIN32_LHTGATOOL_LDFLAGS)" $(WIN32_LHTGATOOL_EXE)
	@$(MAKE) LHTGACLEANER_EXE=$(WIN32_LHTGACLEANER_EXE) LHTGACLEANER_LDFLAGS="$(WIN32_LHTGACLEANER_LDFLAGS)" $(WIN32_LHTGACLEANER_EXE)

.c.o:
	$(CC) $(CFLAGS) -c $*.c

$(LHTGATOOL_EXE): lhtgatool.o
	$(CC) -o $@ $^ $(LHTGATOOL_LDFLAGS)

$(LHTGACLEANER_EXE): lhtgacleaner.o
	$(CC) -o $@ $^ $(LHTGACLEANER_LDFLAGS)

clean:
	-$(CMD_RM) $(WIN32_LHTGATOOL_EXE)
	-$(CMD_RM) $(UNIX_LHTGATOOL_EXE)
	-$(CMD_RM) $(WIN32_LHTGACLEANER_EXE)
	-$(CMD_RM) $(UNIX_LHTGACLEANER_EXE)
	-$(CMD_RM) *.o
	-$(CMD_RM) *.d
