# 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 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