###### Files & Directories
DESTDIR=
MY_DEBIAN_SYSTEM=

OTHER_OBJ = 
SRC = 	main.cc\
		config.cc \
		iconic.cc
OBJ = 	main.o \
		config.o \
		iconic.o \
		$(OTHER_OBJ)
TARGET=langdrill
TARGET_RC=.$(TARGET)
CONFIG_FILE=default.drill
MAN_PAGE=../docs/langdrill.1x

DRILLS = romaji.drill

###### Test for Debian GNU/Linux
# If yoyr system is not Debian GNU/Linux please modify the values after
# "else" statement. Modifying the values before else is useless, unless
# you also set MY_DEBIAN_SYSTEM=1

ifeq ($(MY_DEBIAN_SYSTEM),1)
	MY_MESSAGE_OF_THE_DAY=">>" $(TARGET) compilled for Debian GNU/Linux system. "<<"
	CONFIG_DIR=$(DESTDIR)/usr/share/vdk/langdrill
	BIN_DIR=$(DESTDIR)/usr/X11R6/bin
	MAN_DIR=$(DESTDIR)/usr/X11R6/man/man1
	TARGET_RC_DIR=$(DESTDIR)/etc
else
	MY_MESSAGE_OF_THE_DAY=">>" $(TARGET) compilled for NON-Debian GNU/Linux system. "<<"
	CONFIG_DIR=$(DESTDIR)/usr/local/share/vdk/langdrill
	BIN_DIR=$(DESTDIR)/usr/local/bin
	MAN_DIR=$(DESTDIR)/usr/local/man/man1
	TARGET_RC_DIR=$(DESTDIR)/usr/local/etc
endif


CFLAGS =  -I. -Wall -W -g `gtk-config --cflags` \
	-DCONFIG_FILE='"$(CONFIG_FILE)"' \
	-DCONFIG_DIR='"$(CONFIG_DIR)"' \
	-DTARGET_RC='"$(TARGET_RC)"'
LFLAGS = `gtk-config --libs` -lvdk
#LFLAGS = `gtk-config --libs` /usr/local/lib/libvdk.a
CC = g++

####### Implicit rules

.SUFFIXES: .cc

.cc.o: $(SRC)
	$(CC) $(CFLAGS) -c $*.cc -o $@

####### Build rules

all: $(TARGET)

tarclean:
	rm -f $(TARGET) core

clean:
	rm -f $(OBJ) 

distclean: clean
	rm -f $(TARGET) core *~

$(TARGET): tarclean $(OBJ)
	@echo $(MY_MESSAGE_OF_THE_DAY)
	$(CC) $(CFLAGS) -o $(TARGET) $(OBJ) $(LFLAGS)

run:	tarclean $(OBJ)
	@echo $(MY_MESSAGE_OF_THE_DAY)
	$(CC) $(CFLAGS) -o $(TARGET) $(OBJ) $(LFLAGS)
	./$(TARGET)

build: clean tarclean $(OBJ)
	@echo $(MY_MESSAGE_OF_THE_DAY)
	$(CC) $(CFLAGS) -o $(TARGET) $(OBJ) $(LFLAGS)

install: all
	install -d $(BIN_DIR) $(CONFIG_DIR) $(MAN_DIR) $(TARGET_RC_DIR)
	install ./$(TARGET) $(BIN_DIR)
	install ./$(TARGET_RC) $(TARGET_RC_DIR)
	install -m644 $(CONFIG_FILE) $(CONFIG_DIR)
	install -m644 $(MAN_PAGE) $(MAN_DIR)
	install -m644 $(DRILLS) $(CONFIG_DIR)
