1/* $Id: Imakefile,v 1.10 2003/09/08 01:14:33 aida_s Exp $ */ 2#include "../../Canna.conf" 3#ifdef NARROW 4# define CannaWCharDef -DCANNA_WCHAR16 5# define LibName canna16 6# define RkcName RKC16 7#else 8# define CannaWCharDef 9# define LibName canna 10# define RkcName RKC 11#endif 12 13 CANNAROOT = ../.. 14 SOLIBREV = 1 15 16 CANNADIR = . 17 RKDIR = ../RK 18 RKCDIR = ../RkcName 19 20 HEADERS = canna.h sglobal.h lisp.h 21 IRSRCS = $(COOKSRCS) $(HEADERS) 22 MAPSRCS = defaultmap.c 23 INCLUDEDMAPSRCS = chikujimap.h emptymap.h alphamap.h tanmap.h ichiranmap.h \ 24 jishumap.h kigomap.h onoffmap.h yomimap.h t_reimap.h bunmap.h 25 COOKSRCS = jrbind.c ebind.c $(CORESRCS) 26 CORESRCS = lisp.c $(MAPSRCS) \ 27 bushu.c chikuji.c commondata.c empty.c henkan.c hex.c \ 28 ichiran.c jishu.c kctrl.c keydef.c \ 29 kigo.c mode.c multi.c onoff.c parse.c romaji.c \ 30 uiutil.c uldefine.c uldelete.c ulhinshi.c ulkigo.c \ 31 ulmount.c ulserver.c util.c yesno.c bunsetsu.c \ 32 engine.c RKroma.c RKkana.c obind.c 33 RKCSRCS = $(RKCDIR)/rkc.c $(RKCDIR)/convert.c \ 34 $(RKCDIR)/wconvert.c $(RKCDIR)/wutil.c $(RKCDIR)/conf.c 35/* SRCS = $(IRSRCS) $(RKCSRCS) */ 36 SRCS = $(IRSRCS) $(RKINDEPSRCS) 37 RKINDEPSRCS = cfuncs.c file.c strops.c 38 39 IRIOBJS = $(COOKOBJS) 40 MAPOBJS = defaultmap.o 41 COOKOBJS = jrbind.o ebind.o $(COREOBJS) 42 COREOBJS = lisp.o $(MAPOBJS) \ 43 bushu.o chikuji.o commondata.o empty.o henkan.o hex.o \ 44 ichiran.o jishu.o kctrl.o keydef.o \ 45 kigo.o mode.o multi.o onoff.o parse.o romaji.o \ 46 uiutil.o uldefine.o uldelete.o ulhinshi.o ulkigo.o \ 47 ulmount.o ulserver.o util.o yesno.o bunsetsu.o \ 48 engine.o RKroma.o RKkana.o obind.o 49 DEPRKCOBJS = $(RKCDIR)/rkc.o $(RKCDIR)/convert.o \ 50 $(RKCDIR)/wconvert.o $(RKCDIR)/wutil.o $(RKCDIR)/conf.o 51 RKCOBJS = rkc.o convert.o wconvert.o wutil.o conf.o 52 RKINDEPOBJS = cfuncs.o file.o strops.o 53 OBJS = $(COOKOBJS) $(RKOBJS) $(ENGINE_OBJS) $(RKINDEPOBJS) 54 55 INCLUDES = -I$(CANNAROOT)/include 56 DEFINES = $(UILIB_DEFINES) CannaWCharDef $(ENGINE_DEFS) -DNEED_RKINDEP_SUBST 57 LOCAL_LIBRARIES = 58 LOCAL_LDFLAGS = 59 LINTLIBS = $(RKDIR)/llib-lRK.ln \ 60 $(RKCDIR)/llib-lRKC.ln 61 62 63#ifdef engineSwitch 64 ENGINE_DEFS = -DENGINE_SWITCH -DDL 65#else 66 ENGINE_OBJS = $(RKCOBJS) 67#endif /* !engineSwitch */ 68 69#if ProjectX > 5 70#define SoRev cannaDsoRev 71#define SHLIBDIR libCannaDir 72#define USRLIBDIR libCannaDir 73#define LibHeaders 0 74 75#include <Library.tmpl> 76 77#else /* ProjectX */ 78#include <Library.tmpl> 79 80LibraryObjectRule() 81 82#if DoSharedLib 83#if DoNormalLib 84SharedLibraryTarget(LibName,$(cannaDsoRev),$(OBJS),shared,..) 85#else 86SharedLibraryTarget(LibName,$(cannaDsoRev),$(OBJS),.,.) 87#endif 88InstallSharedLibrary(LibName,$(cannaDsoRev),$(libCannaDir)) 89#endif /* DoSharedLib */ 90 91#if DoNormalLib 92NormalLibraryTarget(LibName,$(OBJS)) 93InstallLibrary(LibName,$(libCannaDir)) 94#endif 95 96NormalLintTarget(*.c) 97LintLibraryTarget(LibName,*.c) 98 99#endif /* ProjectX */ 100 101#ifdef __EMX__ 102$(DEPRKCOBJS): $(RKCSRCS) 103 ImakeIndir $(RKCDIR) $(MAKE) $(RKCOBJS) 104 105$(RKCOBJS): $(DEPRKCOBJS) 106 @for %i in ($(RKCOBJS)) do $(RM) %i & ImakeHelper 3 $(RKCDIR) . %i & touch %i 107#else 108$(DEPRKCOBJS): $(RKCSRCS) 109 (cd $(RKCDIR) ; $(MAKE) $(RKCOBJS)) 110 111$(RKCOBJS): $(DEPRKCOBJS) 112 for i in $(RKCOBJS) ; do ($(RM) $$i; $(CP) $(RKCDIR)/$$i . ); done 113#endif 114#if DoSharedLib 115#if ProjectX > 5 116 if [ -d unshared ]; then (cd unshared ; \ 117 for i in $(RKCOBJS); do \ 118 if [ -f ../$(RKCDIR)/unshared/$$i ]; then \ 119 ($(RM) $$i; $(CP) ../$(RKCDIR)/unshared/$$i .) ; fi; \ 120 done ) ; fi 121#else /* ProjectX */ 122 if [ -d shared ]; then (cd shared ; \ 123 for i in $(RKCOBJS); do \ 124 if [ -f ../$(RKCDIR)/shared/$$i ]; then \ 125 ($(RM) $$i; $(CP) ../$(RKCDIR)/shared/$$i .) ; fi; \ 126 done ) ; fi 127#endif /* ProjectX */ 128#endif /* DoSharedLib */ 129 130sglobal.h: GSYM.awk globnames 131 awk -f GSYM.awk < globnames > $@ 132 133#ifdef NARROW 134clean:: 135 $(RM) *.c *.h GSYM.awk globnames 136#else 137clean:: 138 $(RM) y.tab.h y.tab.c lex.yy.c gram.h gram.c lex.c sglobal.h 139#endif 140 141#ifdef NARROW 142LinkSourceFile(canna.h,../canna) 143/*LinkSourceFile(traceRK.h,../canna)*/ 144LinkSourceFile(jrbind.c,../canna) 145LinkSourceFile(ebind.c,../canna) 146LinkSourceFile(defaultmap.c,../canna) 147LinkSourceFile(lisp.c,../canna) 148LinkSourceFile(lisp.h,../canna) 149LinkSourceFile(bushu.c,../canna) 150LinkSourceFile(chikuji.c,../canna) 151LinkSourceFile(commondata.c,../canna) 152LinkSourceFile(empty.c,../canna) 153LinkSourceFile(henkan.c,../canna) 154LinkSourceFile(hex.c,../canna) 155LinkSourceFile(ichiran.c,../canna) 156LinkSourceFile(jishu.c,../canna) 157LinkSourceFile(kctrl.c,../canna) 158LinkSourceFile(keydef.c,../canna) 159LinkSourceFile(kigo.c,../canna) 160LinkSourceFile(mode.c,../canna) 161LinkSourceFile(multi.c,../canna) 162LinkSourceFile(onoff.c,../canna) 163LinkSourceFile(parse.c,../canna) 164LinkSourceFile(romaji.c,../canna) 165LinkSourceFile(uiutil.c,../canna) 166LinkSourceFile(uldefine.c,../canna) 167LinkSourceFile(uldelete.c,../canna) 168LinkSourceFile(ulhinshi.c,../canna) 169LinkSourceFile(ulkigo.c,../canna) 170LinkSourceFile(ulmount.c,../canna) 171LinkSourceFile(ulserver.c,../canna) 172LinkSourceFile(util.c,../canna) 173LinkSourceFile(yesno.c,../canna) 174LinkSourceFile(bunsetsu.c,../canna) 175LinkSourceFile(RKroma.c,../canna) 176LinkSourceFile(RKkana.c,../canna) 177LinkSourceFile(GSYM.awk,../canna) 178LinkSourceFile(globnames,../canna) 179LinkSourceFile(chikujimap.h,../canna) 180LinkSourceFile(emptymap.h,../canna) 181LinkSourceFile(alphamap.h,../canna) 182LinkSourceFile(tanmap.h,../canna) 183LinkSourceFile(ichiranmap.h,../canna) 184LinkSourceFile(jishumap.h,../canna) 185LinkSourceFile(kigomap.h,../canna) 186LinkSourceFile(onoffmap.h,../canna) 187LinkSourceFile(yomimap.h,../canna) 188LinkSourceFile(t_reimap.h,../canna) 189LinkSourceFile(bunmap.h,../canna) 190LinkSourceFile(engine.c,../canna) 191LinkSourceFile(obind.c,../canna) 192#endif /* NARROW */ 193LinkSourceFile(cfuncs.c,../RKindep) 194LinkSourceFile(file.c,../RKindep) 195LinkSourceFile(strops.c,../RKindep) 196#ifdef NARROW 197depend:: $(SRCS) $(HEADERS) $(INCLUDEDMAPSRCS) 198#endif 199DependTarget() 200 201#ifndef NARROW 202includes:: sglobal.h 203LinkFileList(includes,$(HEADERS), $(CANNAROOT)/include,../lib/canna) 204 205#ifndef __EMX__ 206 UIMANOBJS = jrKanjiString jrKanjiControl XLookupKanjiString XKanjiControl 207#endif 208 209InstallLibManPage(cannalib,$(cannaManDir)) 210InstallLibManPage(uilib,$(cannaManDir)) 211InstallLibManPageLong(RkCloseR,$(cannaManDir),RkCloseRoma) 212InstallLibManPageLong(RkCvtEuc,$(cannaManDir),RkCvtEuc) 213InstallLibManPageLong(RkCvtHan,$(cannaManDir),RkCvtHan) 214InstallLibManPageLong(RkCvtHir,$(cannaManDir),RkCvtHira) 215InstallLibManPageLong(RkCvtKan,$(cannaManDir),RkCvtKana) 216InstallLibManPageLong(RkCvtRom,$(cannaManDir),RkCvtRoma) 217InstallLibManPageLong(RkCvtZen,$(cannaManDir),RkCvtZen) 218InstallLibManPageLong(RkMapPho,$(cannaManDir),RkMapPhonogram) 219InstallLibManPageLong(RkMapRom,$(cannaManDir),RkMapRoma) 220InstallLibManPageLong(RkOpenRo,$(cannaManDir),RkOpenRoma) 221 222InstallLibManPageAliases(uilib,$(cannaManDir),$(UIMANOBJS)) 223#endif /* !NARROW */ 224