/* $Id: Imakefile,v 4.48 1994/05/16 12:05:51 kon Exp $ */
#include "../../Canna.conf"
#include <Library.tmpl>

         CANNAROOT = ../..
          SOLIBREV = 1

          CANNADIR = .
             RKDIR = ../RK
            RKCDIR = ../RKC
             XNDIR = ../Xn

           HEADERS = canna.h sglobal.h
            IRSRCS = $(COOKSRCS) $(HEADERS)
           MAPSRCS = defaultmap.c
          COOKSRCS = jrbind.c ebind.c $(CORESRCS)
          CORESRCS = lisp.c $(MAPSRCS) \
			bushu.c chikuji.c commondata.c empty.c henkan.c hex.c \
			ichiran.c jishu.c kctrl.c keydef.c \
			kigo.c mode.c multi.c onoff.c parse.c romaji.c \
			uiutil.c uldefine.c uldelete.c ulhinshi.c ulkigo.c \
			ulmount.c ulserver.c util.c yesno.c bunsetsu.c \
			engine.c RKroma.c RKkana.c
           RKCSRCS = $(RKCDIR)/rkc.c $(RKCDIR)/rkcConvert.c \
                     $(RKCDIR)/rkcwConv.c $(RKCDIR)/rkcwutil.c
/*              SRCS = $(IRSRCS) $(RKCSRCS) */
              SRCS = $(IRSRCS)

           IRIOBJS = $(COOKOBJS)
           MAPOBJS = defaultmap.o
          COOKOBJS = jrbind.o ebind.o $(COREOBJS)
          COREOBJS = lisp.o $(MAPOBJS) \
			bushu.o chikuji.o commondata.o empty.o henkan.o hex.o \
			ichiran.o jishu.o kctrl.o keydef.o \
			kigo.o mode.o multi.o onoff.o parse.o romaji.o \
			uiutil.o uldefine.o uldelete.o ulhinshi.o ulkigo.o \
			ulmount.o ulserver.o util.o yesno.o bunsetsu.o \
			engine.o RKroma.o RKkana.o
        DEPRKCOBJS = $(RKCDIR)/rkc.o $(RKCDIR)/rkcConvert.o \
                     $(RKCDIR)/rkcwConv.o $(RKCDIR)/rkcwutil.o
           RKCOBJS = rkc.o rkcConvert.o rkcwConv.o rkcwutil.o
              OBJS = $(COOKOBJS) $(RKOBJS) $(ENGINE_OBJS)

          INCLUDES = -I$(CANNAROOT)/include
           DEFINES = $(UILIB_DEFINES) $(ENGINE_DEFS)
   LOCAL_LIBRARIES = 
     LOCAL_LDFLAGS = 
          LINTLIBS = $(RKDIR)/llib-lRK.ln \
			$(RKCDIR)/llib-lRKC.ln


#ifdef engineSwitch
       ENGINE_DEFS = -DENGINE_SWITCH -DDL
#else
       ENGINE_OBJS = $(RKCOBJS)
#endif /* !engineSwitch */

LibraryObjectRule()

#if DoSharedLib
#if DoNormalLib
SharedLibraryTarget(canna,$(cannaDsoRev),$(OBJS),shared,..)
#else
SharedLibraryTarget(canna,$(cannaDsoRev),$(OBJS),.,.)
#endif
InstallSharedLibrary(canna,$(cannaDsoRev),$(libCannaDir))
#endif /* DoSharedLib */

#if DoNormalLib
NormalLibraryTarget(canna,$(OBJS))
InstallLibrary(canna,$(libCannaDir))
#endif

NormalLintTarget(*.c)
LintLibraryTarget(canna,*.c)

$(DEPRKCOBJS): $(RKCSRCS)
	(cd $(RKCDIR) ; $(MAKE) $(RKCOBJS))

$(RKCOBJS): $(DEPRKCOBJS)
	for i in $(RKCOBJS) ; do ($(RM) $$i; $(CP) $(RKCDIR)/$$i . ); done
#if DoSharedLib
	if [ -d shared ]; then (cd shared ; \
		for i in $(RKCOBJS); do \
                  if [ -f ../$(RKCDIR)/shared/$$i ]; then \
                    ($(RM) $$i; $(CP) ../$(RKCDIR)/shared/$$i .) ; fi; \
                done ) ; fi
#endif /* DoSharedLib */

sglobal.h: GSYM.awk globnames
	awk -f GSYM.awk < globnames > $@

clean::
	$(RM) y.tab.h y.tab.c lex.yy.c gram.h gram.c lex.c

DependTarget()

LinkFileList(includes,$(HEADERS), $(CANNAROOT)/include,../lib/canna)

   UIMANOBJS = jrKanjiString jrKanjiControl XLookupKanjiString XKanjiControl

InstallLibManPage(cannalib,$(cannaManDir))
InstallLibManPage(uilib,$(cannaManDir))
InstallLibManPageLong(RkCloseR,$(cannaManDir),RkCloseRoma)
InstallLibManPageLong(RkCvtEuc,$(cannaManDir),RkCvtEuc)
InstallLibManPageLong(RkCvtHan,$(cannaManDir),RkCvtHan)
InstallLibManPageLong(RkCvtHir,$(cannaManDir),RkCvtHira)
InstallLibManPageLong(RkCvtKan,$(cannaManDir),RkCvtKana)
InstallLibManPageLong(RkCvtRom,$(cannaManDir),RkCvtRoma)
InstallLibManPageLong(RkCvtZen,$(cannaManDir),RkCvtZen)
InstallLibManPageLong(RkMapPho,$(cannaManDir),RkMapPhonogram)
InstallLibManPageLong(RkMapRom,$(cannaManDir),RkMapRoma)
InstallLibManPageLong(RkOpenRo,$(cannaManDir),RkOpenRoma)

InstallLibManPageAliases(uilib,$(cannaManDir),$(UIMANOBJS))
