#
# run with "make"

# --------------------- customization ---------------------------
# directories specified below must alreay exist

# main directory.  Default is the current directory
MAINDIR:sh = pwd 

# directory for binary files ( C++ programs only)
BINDIR = $(MAINDIR)/bin

# directory of dictionary files
VORTDIR = $(MAINDIR)/vortaro


INPUT_VORTARO  = $(VORTDIR)/esp-angla-vortoj.txt
SUPPL_VORTARO  = $(VORTDIR)/suppl.vortaro

LISP_FILTER    = $(VORTDIR)/filter.lisp.txt
CC_FILTER      = $(VORTDIR)/filter.cc.txt

LISP_EXCLUDE   = $(VORTDIR)/exclude.lisp.txt
CC_EXCLUDE     = $(VORTDIR)/exclude.cc.txt

LISP_VORTARO   = $(VORTDIR)/lex.for.lisp
CC_VORTARO     = $(VORTDIR)/lex.for.cc


# ---------------------------------------

# common lisp executable
LISP_BIN = lisp


# gnu C++ compiler
CC = g++ 


INCLUDE_PATH =  -I$(MAINDIR)/tools 

LIBS = $(MAINDIR)/tools/*.o 

SUBDIRS = tools src allen bin

# ------------------------------------------------------------------


SUBFLAGS="CC=$(CC)" "LIBS=$(LIBS)" "INCLUDE_PATH=$(INCLUDE_PATH)" \
         "LISP_BIN=$(LISP_BIN)"                                 \
         "MAINDIR=$(MAINDIR)" "BINDIR=$(BINDIR)"         \
         "VORTDIR=$(VORTDIR)" \
         "INPUT_VORTARO=$(INPUT_VORTARO)" \
         "SUPPL_VORTARO=$(SUPPL_VORTARO)" \
         "LISP_FILTER=$(LISP_FILTER)"   \
         "LISP_EXCLUDE=$(LISP_EXCLUDE)" \
         "LISP_VORTARO=$(LISP_VORTARO)" \
         "CC_FILTER=$(CC_FILTER)"   \
         "CC_EXCLUDE=$(CC_EXCLUDE)" \
         "CC_VORTARO=$(CC_VORTARO)" \
      

all: $(SUBDIRS) buildlex

$(SUBDIRS): FORCE
	@cd $@; \
	echo ; \
	echo "making project directory $@" ; \
	$(MAKE) $(SUBFLAGS) all 

buildlex: FORCE
	@echo 
	@echo "updating dictionaries"
	$(BINDIR)/buildlex
	@echo


FORCE:

clean: FORCE
	@for dir in $(SUBDIRS) ; do \
	echo Making clean in $$dir; \
	(cd $$dir; $(MAKE) clean); done


