/* $Id: Imakefile,v 2.2 1994/04/12 12:57:17 kon Exp $ */
#include "../../Canna.conf"
#include <Library.tmpl>

         CANNAROOT = ../..
          SOLIBREV = 1

          CANNADIR = .
             RKDIR = ../RK
            RKCDIR = ../RKC16
             XNDIR = ../Xn16

           HEADERS = canna.h sglobal.h lisp.h
            IRSRCS = $(COOKSRCS) $(HEADERS)
           MAPSRCS = defaultmap.c
   INCLUDEDMAPSRCS = chikujimap.c emptymap.c alphamap.c tanmap.c ichiranmap.c \
		jishumap.c kigomap.c onoffmap.c yomimap.c t_reimap.c bunmap.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) -DWCHAR16 $(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(canna16,$(cannaDsoRev),$(OBJS),shared,..)
#else
SharedLibraryTarget(canna16,$(cannaDsoRev),$(OBJS),.,.)
#endif
InstallSharedLibrary(canna16,$(cannaDsoRev),$(libCannaDir))
#endif /* DoSharedLib */

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

NormalLintTarget(*.c)
LintLibraryTarget(canna16,*.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) *.c *.h GSYM.awk globnames

LinkSourceFile(canna.h,../canna)
/*LinkSourceFile(traceRK.h,../canna)*/
LinkSourceFile(jrbind.c,../canna)
LinkSourceFile(ebind.c,../canna)
LinkSourceFile(defaultmap.c,../canna)
LinkSourceFile(lisp.c,../canna)
LinkSourceFile(lisp.h,../canna)
LinkSourceFile(bushu.c,../canna)
LinkSourceFile(chikuji.c,../canna)
LinkSourceFile(commondata.c,../canna)
LinkSourceFile(empty.c,../canna)
LinkSourceFile(henkan.c,../canna)
LinkSourceFile(hex.c,../canna)
LinkSourceFile(ichiran.c,../canna)
LinkSourceFile(jishu.c,../canna)
LinkSourceFile(kctrl.c,../canna)
LinkSourceFile(keydef.c,../canna)
LinkSourceFile(kigo.c,../canna)
LinkSourceFile(mode.c,../canna)
LinkSourceFile(multi.c,../canna)
LinkSourceFile(onoff.c,../canna)
LinkSourceFile(parse.c,../canna)
LinkSourceFile(romaji.c,../canna)
LinkSourceFile(uiutil.c,../canna)
LinkSourceFile(uldefine.c,../canna)
LinkSourceFile(uldelete.c,../canna)
LinkSourceFile(ulhinshi.c,../canna)
LinkSourceFile(ulkigo.c,../canna)
LinkSourceFile(ulmount.c,../canna)
LinkSourceFile(ulserver.c,../canna)
LinkSourceFile(util.c,../canna)
LinkSourceFile(yesno.c,../canna)
LinkSourceFile(bunsetsu.c,../canna)
LinkSourceFile(RKroma.c,../canna)
LinkSourceFile(RKkana.c,../canna)
LinkSourceFile(GSYM.awk,../canna)
LinkSourceFile(globnames,../canna)
LinkSourceFile(chikujimap.c,../canna)
LinkSourceFile(emptymap.c,../canna)
LinkSourceFile(alphamap.c,../canna)
LinkSourceFile(tanmap.c,../canna)
LinkSourceFile(ichiranmap.c,../canna)
LinkSourceFile(jishumap.c,../canna)
LinkSourceFile(kigomap.c,../canna)
LinkSourceFile(onoffmap.c,../canna)
LinkSourceFile(yomimap.c,../canna)
LinkSourceFile(t_reimap.c,../canna)
LinkSourceFile(bunmap.c,../canna)
LinkSourceFile(engine.c,../canna)

depend:: $(SRCS) $(HEADERS) $(INCLUDEDMAPSRCS)
DependTarget()
