/* $Id: Imakefile,v 2.5 1994/04/19 11:42:19 kon Exp $ */
#include "./Canna.conf"

#define IHaveSubdirs
#define PassCDebugFlags
      WORLDOPTS = -k
        SUBDIRS = lib canna server cmd dic misc doc
        INCLUDE = ./include/canna
AllTarget(cannaconf.h)
MakeSubdirs($(SUBDIRS))
DependSubdirs($(SUBDIRS))

clean::
	$(RM) -r include

includes::
	$(RM) -r include
	MakeDir($(INCLUDE))

MakeCannaConfigH(cannaconf.h)

CANNAROOT = .
SERVERDIR = server dic/phono dic/ideo
CLIENTDIR = cmd dic/phono misc
SGSDIR = canna lib

install:: mkbindir mklibdir mkdicdir mkerrdir mklockdir
instserver:: mkdicdir mkerrdir mklockdir
instclient:: mkbindir mkdicdir
instsgs:: mklibdir

MakeDirectories(mkbindir, $(cannaBinDir))
MakeDirectories(mklibdir, $(cannaLibDir))
MakeDirectoriesLong(mkdicdir, $(DicDir), $(cannaOwner), $(cannaGroup))
MakeDirectoriesLong(mkerrdir, $(ErrDir), $(cannaOwner), $(cannaGroup))
MakeDirectoriesLong(mklockdir, $(LockDir), $(cannaOwner), $(cannaGroup))

LinkFileList(includes,cannaconf.h,$(CANNAROOT)/include,..)

canna:: 
	@echo ""
	@echo "Building canna"
	@echo ""
	@echo ""
	$(MAKE) Makefiles
	$(MAKE) clean
	$(MAKE) includes
	$(MAKE) -k depend
	$(MAKE) $(WORLDOPTS)
	@echo ""
	@date
	@echo ""

instserver::
	@case '${MFLAGS}' in *[ik]*) set +e;; esac; \
	for i in $(SERVERDIR) ;\
	do \
		(cd $$i ; echo "installing" "in $(CURRENT_DIR)/$$i..."; \
		$(MAKE) $(MFLAGS) DESTDIR='$(DESTDIR)' install); \
	done

instclient::
	@case '${MFLAGS}' in *[ik]*) set +e;; esac; \
	for i in $(CLIENTDIR) ;\
	do \
		(cd $$i ; echo "installing" "in $(CURRENT_DIR)/$$i..."; \
		$(MAKE) $(MFLAGS) DESTDIR='$(DESTDIR)' install); \
	done

instsgs::
	@case '${MFLAGS}' in *[ik]*) set +e;; esac; \
	for i in $(SGSDIR) ;\
	do \
		(cd $$i ; echo "installing" "in $(CURRENT_DIR)/$$i..."; \
		$(MAKE) $(MFLAGS) DESTDIR='$(DESTDIR)' install); \
	done
