# Makefile for MsysTerm

CC = i686-pc-msys-gcc
CFLAGS = -O2 -fno-exceptions

LAUNCH = msyslaunch.exe
LAUNCH_SRC = msyslaunch.c
EXE = msysterm.exe
SRC = $(EXE:.exe=.cc)
CFG = $(EXE:.exe=.cfg)
RES = $(EXE:.exe=.res)
ICO = $(EXE:.exe=.ico)
RC  = $(EXE:.exe=.rc)
ARCHIVE = msysterm-i686-1.0.0.tar.gz

.PHONY: all clean install uninstall

all : $(EXE) $(LAUNCH) $(ARCHIVE)

$(EXE) : $(SRC) $(RES)
	$(CC) $(CFLAGS) $(LDFLAGS) -o $(EXE) $(SRC) $(RES)
	strip $(EXE)

$(LAUNCH) : $(LAUNCH_SRC) $(RES)
	mingw32-gcc $(CFLAGS) $(LDFLAGS) -o $(LAUNCH) $(LAUNCH_SRC) $(RES)
	strip $(LAUNCH)

$(RC):
	echo 'icon ICON $(ICO)' > $(RC)

$(RES): $(ICO) $(RC)
	windres -O coff -o $(RES) $(RC)

clean :
	rm -f $(EXE) $(RC) $(RES) $(LAUNCH) $(ARCHIVE)

install : $(EXE)
	@ install -v $(EXE) $(BINDIR)/$(EXE)
	@ if [ ! -f $(BINDIR)/$(CFG) ]; then \
	    install -v $(CFG) $(BINDIR)/$(CFG) \
	; fi

uninstall :
	rm -f $(BINDIR)/$(EXE)
	rm -f $(BINDIR)/$(CFG)

$(ARCHIVE) : $(SRC) $(ICO) $(CFG) $(LAUNCH_SRC) README Makefile
	tar cf - $(SRC) $(ICO) $(CFG) $(LAUNCH_SRC) README Makefile | gzip > $(ARCHIVE)
