########################################################################
#                                                                      #
#                     MAKEFILE FOR AdvancedUsers                       #
#                                                                      #
# Please read the README file first!                                   #
# Modify line 12 if you want to install to another directory as ~/bin  #
# Simply type "make", or "make getrsync", or "make add2path",          #
# or "make ediff", or "make mcalc"                                     #
#                                                                      #
########################################################################

BIN := $(HOME)/bin
BRC := $(HOME)/.bashrc

CC := gcc
LIBS := -lreadline -lm  # -lncurses
YFLAGS := -d

all: getrsync add2path ediff mcalc crema

getrsync: $(BIN)/getrsync

add2path: $(BIN)/add2pathf

$(BIN)/getrsync:  getrsync1
	if [ ! -d $(BIN) ]; then mkdir -p $(BIN) ; fi
	cp -f getrsync1 $(BIN)/getrsync
	ln -sf $(BIN)/getrsync $(BIN)/putrsync

$(BIN)/add2pathf:  add2pathf
	if [ ! -d $(BIN) ]; then mkdir -p $(BIN) ; fi
	cp -f add2pathf $(BIN)/add2pathf

ediff: ediff.c
	if [ ! -d $(BIN) ]; then mkdir -p $(BIN) ; fi
	if [ -f ediff ]; then cp ediff $(BIN)/ediff ; fi
	$(CC) -O2 -o ediff  ediff.c
	cp -f ediff $(BIN)/ediff

mcalc: mcalcyy.o mcalc.o lexyy.o stringinput.o
	if [ ! -d $(BIN) ]; then mkdir -p $(BIN) ; fi
	if [ -f mcalc ]; then cp mcalc $(BIN)/mcalc ; fi
	$(CC) -O2  -o $@ \
	mcalc.o mcalcyy.o lexyy.o stringinput.o  $(LIBS)
	cp -f mcalc $(BIN)/mcalc

crema: crema.o
	$(CC) -Wall -O  $< -o $@
	cp -f crema $(BIN)/crema

clean_mcalc:
	rm -f mcalc.o lexyy.o mcalcyy.o stringinput.o y.tab.h mcalc

clean_ediff:
	rm -f ediff

clean_crema:
	rm -f crema crema.o

clean:    clean_mcalc clean_ediff clean_crema

clean_bin:
	rm -f $(BIN)/getrsync $(BIN)/putrsync $(BIN)/add2pathf \
            $(BIN)/ediff $(BIN)/mcalc


bashrc:
	mv $(BRC) $(BRC)_AU_$$$$;\
   echo '########### MCTDH Advanced User ###############' >> $(BRC);\
   echo 'export PATH=~/bin:$$PATH' >> $(BRC);\
   echo 'source ~/bin/add2pathf'   >> $(BRC);\
   echo '#----------------------------------------------' >> $(BRC);\
   cat $(BRC)_AU_$$$$ >> $(BRC)
