# Makefile for Mule-UCS

# This file is part of XEmacs.

# XEmacs is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
# Free Software Foundation; either version 2, or (at your option) any
# later version.

# XEmacs is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# for more details.

# You should have received a copy of the GNU General Public License
# along with XEmacs; see the file COPYING.  If not, write to
# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.

VERSION = 1.14
AUTHOR_VERSION = 0.84
MAINTAINER = Stephen J. Turnbull <stephen@xemacs.org>
PACKAGE = mule-ucs
PKG_TYPE = regular
REQUIRES = mule-base latin-euro-standards
CATEGORY = mule

# Mule-UCS is a unique package in that it does not compile or run
# under XEmacsen 21.1, at least not "out of the box".  So here's
# some really ugly Makefile voodoo that will allow people using XEmacs
# 21.1 to build the packages without it blowing up in their faces.
# Don't try this at home, kids.  SY.
include ../../Local.rules
CHECK_VERSION =	$(XEMACS) -batch -no-autoloads -eval '(princ (emacs-version>= 21 4))'

ifeq ($(shell $(CHECK_VERSION)),t)
EXTRA_SOURCES = \
	lisp/un-trbase.el

# NOTE NOTE NOTE: The order of the following is extremely important.
# In particular, the last two files must stay there, and in that order.
ELCS = lisp/mucs.elc lisp/mucs-ccl.elc lisp/mucs-error.elc \
	lisp/mucs-type.elc lisp/mule-uni.elc lisp/mccl-font.elc \
	lisp/tae.elc lisp/tbl-mg.elc lisp/trans-util.elc lisp/txt-tbl.elc \
	lisp/unicode.elc lisp/un-data.elc \
	lisp/un-tools.elc lisp/unidata.elc lisp/utf.elc \
	lisp/un-define.elc lisp/un-supple.elc

AUTOLOAD_PATH = lisp

DATA_1_FILES = README.XEmacs mucs-comp.el lisp/ChangeLog Makefile \
	lisp/MuleUni.txt \
	lisp/README \
	lisp/README.Unicode \
	lisp/type.txt \
	doc/mule-ucs.sgml \
	doc/mule-ucs.texi
DATA_1_DEST = $(PACKAGE)/
DATA_2_FILES = $(wildcard lisp/reldata/*.el)
DATA_2_DEST = $(PACKAGE)/reldata/

EXPLICIT_DOCS = doc/mule-ucs.texi

## The new way:

## #### Some of these are probably not necessary, but I don't know which ones.
PRELOADS = -eval \("push \"./lisp\" load-path"\) -l mucs -l mucs-ccl -l mucs-error -l mucs-type -l mule-uni -l mccl-font -l tae -l tbl-mg -l trans-util -l txt-tbl -l unicode -l un-data -l unidata -l utf

include ../../XEmacs.rules

## The old way:

## Using specially hacked up Lisp files to do the compilation always sucks
## majorly.  These files almost never do any sort of dependency checking,
## instead just brute-force recompiling everything always.  In this case,
## there are lots of subtle order dependencies that are (naturally)
## completely undocumented. (I would expect no less of Japanese code :-)

#NO_BUILD_ELCS = t

#include ../../XEmacs.rules

#compile::
#	$(XEMACS) -no-autoloads -batch -l mucs-comp.el

else
include ../../Version.rules

bad-version:
	@echo "************************ W A R N I N G *************************"
	@echo "Building Mule-UCS with versions less than 21.4 is unsupported by"
	@echo "the XEmacs Project."
	@echo "If you need this feature, contact the package maintainer directly:"
	@echo "$(MAINTAINER)"
endif

