1#
2#   $Id: makerule.mk.in,v 1.11 2003/05/11 18:22:57 hiroo Exp $
3#
4
5#
6# FreeWnn is a network-extensible Kana-to-Kanji conversion system.
7# This file is part of FreeWnn.
8#
9# Copyright Kyoto University Research Institute for Mathematical Sciences
10#                 1987, 1988, 1989, 1990, 1991, 1992
11# Copyright OMRON Corporation. 1987, 1988, 1989, 1990, 1991, 1992, 1999
12# Copyright ASTEC, Inc. 1987, 1988, 1989, 1990, 1991, 1992
13# Copyright FreeWnn Project 1999, 2000, 2001, 2003
14#
15# Maintainer:  FreeWnn Project   <freewnn@tomo.gr.jp>
16#
17# This program is free software; you can redistribute it and/or modify
18# it under the terms of the GNU General Public License as published by
19# the Free Software Foundation; either version 2 of the License, or
20# (at your option) any later version.
21#
22# This program is distributed in the hope that it will be useful,
23# but WITHOUT ANY WARRANTY; without even the implied warranty of
24# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
25# GNU General Public License for more details.
26#
27# You should have received a copy of the GNU General Public License
28# along with this program; if not, write to the Free Software
29# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
30#
31
32all::
33
34            SHELL = /bin/sh
35
36              TOP = $(top_builddir)
37      CURRENT_DIR = `pwd`
38
39           DEPEND = gccmakedep
40        MKDIRHIER = mkdir -p
41
42# for libtool (AM_PROG_LIBTOOL)
43#     top_builddir = @abs_top_srcdir@
44
45           MANDIR = @mandir@/${MANLANG}/man$(MANSUFFIX)
46        LIBMANDIR = @mandir@/${MANLANG}/man$(LIBMANSUFFIX)
47
48        MANSUFFIX = 1
49     LIBMANSUFFIX = 3
50
51   COMPRESSMANCMD = :
52
53
54               AR = ar cq
55               AS = as
56
57CPP = @CPP@
58CC = @CC@
59CCLINK = $(CC)
60
61     INSTALLFLAGS =
62               LD = ld
63             LINT = lint
64      LINTLIBFLAG = -C
65         LINTOPTS = -axz
66               LN = @LN_S@
67             MAKE = make
68               MV = mv -f
69               CP = cp
70
71           RANLIB = @RANLIB@
72  RANLIBINSTFLAGS =
73
74          LIBTOOL = @LIBTOOL@
75
76               RM = rm -f
77              TBL = tbl
78
79             TAGS = ctags
80
81   PARALLELMFLAGS =
82
83
84     INSTPGMFLAGS = @INSTPGMFLAGS@
85     INSTBINFLAGS = -m 0755
86     INSTUIDFLAGS = -m 4711
87     INSTLIBFLAGS = -m 0644
88     INSTINCFLAGS = -m 0444
89     INSTMANFLAGS = -m 0444
90     INSTDATFLAGS = -m 0444
91
92CCOPTIONS = @CCOPTIONS@
93ALLDEFINES = $(INCLUDES) $(DEFINES)
94CFLAGS = @CFLAGS@ @CDEBUGFLAGS@ $(CCOPTIONS) @ipv6@ @DEFS@ $(ALLDEFINES)
95LIBS = @LIBS@
96LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES) $(DEPEND_DEFINES)
97LDOPTIONS = @CDEBUGFLAGS@ $(CCOPTIONS)
98
99
100#
101# OMRON INPUT METHOD MAKE ENV
102#
103
104       WNNOWNER = wnn
105
106          IMTOP = $(TOP)
107
108         prefix = @prefix@
109    exec_prefix = @exec_prefix@
110         PREFIX = @prefix@
111      WNNWNNDIR = ${PREFIX}/lib/wnn
112      WNNBINDIR = ${PREFIX}/bin
113      WNNINCDIR = @includedir@
114      WNNLIBDIR = @libdir@
115    WNNTERM_LIB = -ltermcap
116
117  PUBDICPLUSSRC = $(IMTOP)/PubdicPlus
118  WNNCONSDICSRC = $(IMTOP)/Wnn-consortium/dic
119
120         WNNTOP = $(IMTOP)/Wnn
121       JWNNLANG = ja_JP
122     JWNNWNNDIR = $(WNNWNNDIR)/$(JWNNLANG)
123     JWNNBINDIR = $(WNNBINDIR)/Wnn4
124     JWNNINCDIR = $(WNNINCDIR)/wnn
125     JWNNDICDIR = $(JWNNWNNDIR)/dic
126  JWNNPUBDICDIR = $(JWNNDICDIR)/pubdic
127JWNNWNNCONSDICDIR = $(JWNNDICDIR)/wnncons
128  JWNNFZKSRCDIR = $(JWNNDICDIR)/src
129     WNNCONVSRC = $(WNNTOP)/conv
130      WNNETCSRC = $(WNNTOP)/etc
131  WNNINCLUDESRC = $(WNNTOP)/include
132       WNNJDSRC = $(WNNTOP)/jd
133     WNNJLIBSRC = $(WNNTOP)/jlib
134   WNNJLIBV3SRC = $(WNNTOP)/jlib.V3
135  WNNJSERVERSRC = $(WNNTOP)/jserver
136    WNNJUTILSRC = $(WNNTOP)/jutil
137       WNNLDSRC = $(WNNTOP)/ld
138WNNPUBDICPLUSSRC = $(WNNTOP)/pubdicplus
139WNNWNNCONSSRC = $(WNNTOP)/wnncons
140WNNWNNCONSDICSRC = $(WNNWNNCONSSRC)/dic
141   WNNROMKANSRC = $(WNNTOP)/romkan
142      WNNUUMSRC = $(WNNTOP)/uum
143   WNNCNVFILEDIR = $(WNNJDSRC)/./bsd
144    WNNINCLUDES = -I$(WNNINCLUDESRC) -I$(WNNROMKANMSRC)
145     WNNDEFINES = -DLIBDIR=\"$(WNNWNNDIR)\"
146        WNNJLIB = @WNNJLIB@
147 WNNJLIBVERSION = 0:0
148     WNNCONVLIB = $(WNNCONVSRC)/libconvkey.a
149
150        CWNNTOP = $(IMTOP)/cWnn
151       CWNNLANG = zh_CN
152     CWNNWNNDIR = $(WNNWNNDIR)/$(CWNNLANG)
153     CWNNINCDIR = $(WNNINCDIR)/cwnn
154     CWNNBINDIR = $(WNNBINDIR)/cWnn4
155     CWNNDICDIR = $(CWNNWNNDIR)/dic
156  CWNNSYSDICDIR = $(CWNNDICDIR)/sys
157      CWNNCDSRC = $(CWNNTOP)/cd
158    CWNNCDICSRC = $(CWNNTOP)/cdic
159    CWNNCONVSRC = $(CWNNTOP)/conv
160     CWNNETCSRC = $(CWNNTOP)/etc
161 CWNNINCLUDESRC = $(CWNNTOP)/include
162    CWNNJLIBSRC = $(CWNNTOP)/jlib
163 CWNNJSERVERSRC = $(CWNNTOP)/jserver
164   CWNNJUTILSRC = $(CWNNTOP)/jutil
165  CWNNROMKANSRC = $(CWNNTOP)/romkan
166     CWNNUUMSRC = $(CWNNTOP)/uum
167 CWNNCNVFILEDIR = $(CWNNCDSRC)/./bsd
168   CWNNINCLUDES = -I$(CWNNINCLUDESRC) -I$(CWNNROMKANMSRC)
169    CWNNDEFINES = -DLIBDIR=\"$(WNNWNNDIR)\"
170       CWNNJLIB = @CWNNJLIB@
171CWNNJLIBVERSION = 0:0
172    CWNNCONVLIB = $(CWNNCONVSRC)/libconvkey.a
173
174        KWNNTOP = $(IMTOP)/kWnn
175       KWNNLANG = ko_KR
176     KWNNWNNDIR = $(WNNWNNDIR)/$(KWNNLANG)
177     KWNNINCDIR = $(WNNINCDIR)/kwnn
178     KWNNBINDIR = $(WNNBINDIR)/kWnn4
179     KWNNDICDIR = $(KWNNWNNDIR)/dic
180  KWNNSYSDICDIR = $(KWNNDICDIR)/sys
181      KWNNKDSRC = $(KWNNTOP)/kd
182    KWNNKDICSRC = $(KWNNTOP)/kdic
183    KWNNCONVSRC = $(KWNNTOP)/conv
184     KWNNETCSRC = $(KWNNTOP)/etc
185 KWNNINCLUDESRC = $(KWNNTOP)/include
186    KWNNJLIBSRC = $(KWNNTOP)/jlib
187 KWNNJSERVERSRC = $(KWNNTOP)/jserver
188   KWNNJUTILSRC = $(KWNNTOP)/jutil
189  KWNNROMKANSRC = $(KWNNTOP)/romkan
190     KWNNUUMSRC = $(KWNNTOP)/uum
191 KWNNCNVFILEDIR = $(KWNNCDSRC)/./bsd
192   KWNNINCLUDES = -I$(KWNNINCLUDESRC) -I$(KWNNROMKANMSRC)
193    KWNNDEFINES = -DLIBDIR=\"$(WNNWNNDIR)\"
194       KWNNJLIB = @KWNNJLIB@
195KWNNJLIBVERSION = 0:0
196    KWNNCONVLIB = $(KWNNCONVSRC)/libconvkey.a
197
198       TWNNLANG = zh_TW
199     TWNNWNNDIR = $(WNNWNNDIR)/$(TWNNLANG)
200     TWNNDICDIR = $(TWNNWNNDIR)/dic
201  TWNNSYSDICDIR = $(TWNNDICDIR)/sys
202      TWNNTDSRC = $(CWNNTOP)/td
203    TWNNTDICSRC = $(CWNNTOP)/tdic
204
205       LWNNLANG = lt_LN
206     LWNNWNNDIR = $(WNNWNNDIR)/$(LWNNLANG)
207
208     WNNLANGDEF = -DJAPANESE
209    CWNNLANGDEF = -DCHINESE
210    TWNNLANGDEF = -DTAIWANESE
211    KWNNLANGDEF = -DKOREAN
212    LWNNLANGDEF = -DLATIN
213     ALLLANGDEF = $(WNNLANGDEF) $(CWNNLANGDEF) $(KWNNLANGDEF) $(LWNNLANGDEF)
214
215       XWNMOTOP = $(IMTOP)/Xwnmo
216       XWNMOSRC = $(XWNMOTOP)/xwnmo
217      XJUTILSRC = $(XWNMOTOP)/xjutil
218 XWNMOROMKANSRC = $(XWNMOTOP)/romkan
219   XWNMOJLIBSRC = $(XWNMOTOP)/jlib
220     XWNMOJDSRC = $(XWNMOTOP)/jd
221XWNMOROMKANMSRC = $(XWNMOTOP)/romkan_m
222
223  XWNMOXLIBINC  = -I$(XWNMOTOP)/X11R6/include
224
225  XWNMOINCLUDES = -I$(XWNMOROMKANMSRC) -I$(WNNINCLUDESRC) $(XWNMOXLIBINC)
226      XWNMOJLIB = $(XWNMOJLIBSRC)/libwnn_m.a
227 XWNMOLIBRARIES = $(XWNMOJLIB)
228
229       XWNMODEF = -DBC_X11R5
230
231
232
233
234# ----------------------------------------------------------------------
235
236all::
237	@cont=0; \
238	for flag in ${MAKEFLAGS} ''; do \
239	case "$$flag" in *=*) ;; *[ik]*) cont=1;; esac; done; \
240	SUBDIRS="$(SUBDIRS)" ;\
241	for i in $$SUBDIRS ;\
242	do \
243	echo "making" all "in $(CURRENT_DIR)/$$i..."; \
244	(cd $$i && $(MAKE) $(MFLAGS) $(PARALLELMFLAGS) all) \
245	|| if [ $$cont -eq 0 ]; then exit 1; fi; \
246	done
247
248includes::
249	@cont=0; \
250	for flag in ${MAKEFLAGS} ''; do \
251	case "$$flag" in *=*) ;; *[ik]*) cont=1;; esac; done; \
252	SUBDIRS="$(ALL_SUBDIRS)" ;\
253	for i in $$SUBDIRS ;\
254	do \
255	echo "making" all "in $(CURRENT_DIR)/$$i..."; \
256	(cd $$i && $(MAKE) $(MFLAGS) $(PARALLELMFLAGS) includes) \
257	|| if [ $$cont -eq 0 ]; then exit 1; fi; \
258	done
259
260install::
261	@cont=0; \
262	for flag in ${MAKEFLAGS} ''; do \
263	case "$$flag" in *=*) ;; *[ik]*) cont=1;; esac; done; \
264	SUBDIRS="$(SUBDIRS)" ;\
265	for i in $$SUBDIRS ;\
266	do \
267	echo "installing" all "in $(CURRENT_DIR)/$$i..."; \
268	(cd $$i && $(MAKE) $(MFLAGS) $(PARALLELMFLAGS) install) \
269	|| if [ $$cont -eq 0 ]; then exit 1; fi; \
270	done
271
272install.man::
273	@cont=0; \
274	for flag in ${MAKEFLAGS} ''; do \
275	case "$$flag" in *=*) ;; *[ik]*) cont=1;; esac; done; \
276	SUBDIRS="$(SUBDIRS)" ;\
277	for i in $$SUBDIRS ;\
278	do \
279	echo "installing man pages" "in $(CURRENT_DIR)/$$i..."; \
280	(cd $$i && $(MAKE) $(MFLAGS) $(PARALLELMFLAGS) install.man) \
281	|| if [ $$cont -eq 0 ]; then exit 1; fi; \
282	done
283
284depend::
285	@cont=0; \
286	@for flag in ${MAKEFLAGS} ''; do \
287	case "$$flag" in *=*) ;; *[ik]*) cont=1;; esac; done; \
288	SUBDIRS="$(SUBDIRS)" ;\
289	for i in $$SUBDIRS ;\
290	do \
291	echo "depending" "in $(CURRENT_DIR)/$$i..."; \
292	(cd $$i && $(MAKE) $(MFLAGS) $(PARALLELMFLAGS) \
293	 depend) \
294	|| if [ $$cont -eq 0 ]; then exit 1; fi; \
295	done
296
297clean::
298	SUBDIRS="$(SUBDIRS)" ;\
299	for i in $$SUBDIRS ;\
300	do \
301	echo "cleaning" "in $(CURRENT_DIR)/$$i..."; \
302	(cd $$i && $(MAKE) $(MFLAGS) $(PARALLELMFLAGS) \
303	 clean) \
304	done
305
306depend:: .depend
307
308.depend::
309	$(RM) $@
310	$(DEPEND) -f- -- $(ALLDEFINES) $(DEPEND_DEFINES) -- $(SRCS) > $@
311
312# ----------------------------------------------------------------------
313# common rules for all Makefiles - do not edit
314
315
316emptyrule::
317
318clean::
319	$(RM) *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut *.core "#"*
320
321
322tags::
323	$(TAGS) -w *.[ch]
324	$(TAGS) -xw *.[ch] > TAGS
325
326man_keywords::
327
328# ----------------------------------------------------------------------
329# empty rules for directories that do not have SUBDIRS - do not edit
330
331install::
332	@echo "install in $(CURRENT_DIR) done"
333
334install.man::
335	@echo "install.man in $(CURRENT_DIR) done"
336
337install.linkkit::
338	@echo "install.linkkit in $(CURRENT_DIR) done"
339
340Makefiles::
341
342depend::
343
344# ----------------------------------------------------------------------
345# dependencies generated by makedepend
346
347# dependencies are in .depend
348
349