psgml / Makefile

# Makefile for psgml support lisp code

# 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.23
MAINTAINER = XEmacs Development Team <>
PACKAGE = psgml
PKG_TYPE = regular
REQUIRES = xemacs-base edit-utils edebug xemacs-devel mail-lib
CATEGORY = standard

ELCS = iso-sgml.elc psgml-api.elc psgml-charent.elc psgml-debug.elc \
	psgml-dtd.elc psgml-edit.elc psgml-fs.elc psgml-html.elc \
	psgml-info.elc psgml-parse.elc psgml-xemacs.elc psgml.elc

TEXI_FILES = $(PACKAGE).texi $(PACKAGE)-api.texi

DATA_FILES = $(wildcard etc/[EHRWhisw]*) etc/CATALOG $(wildcard etc/*ent) \
	     $(wildcard etc/*.dtd) $(wildcard etc/*.mod) $(wildcard etc/*.dcl)

DATA_1_FILES = $(shell $(XEMACS) -batch -no-autoloads -eval "$(GET_CDTD_FILES)")
(progn \
  (find-file \
   \"etc/ECAT\") \
  (princ \
    (replace-in-string \
     (buffer-string) \
     \"FILE.*[ \\t]+\\\\([^ \\t]+\\\\)[ \\r\\t]*\\n\" \
     \" etc/\\\\1\"))))


DATA_2_FILES = $(wildcard etc/ISO_8879-1986/entities/[A,D-Z]*) \
               $(wildcard etc/ISO_8879-1986/entities/*.ent)
DATA_2_DEST = $(PACKAGE)/ISO_8879-1986/entities

include ../../XEmacs.rules

GENERATED += custom-load.elc

# APA: XEmacs native NT currently (2000-06-23) has shortcomings we
# need to temporarily work around.
ifeq ($(XEMACS_NATIVE_NT),t)
# APA: XEmacs native Windows 2000 currently needs this quoting of
# command-line-rguments.
EXTEND_LOAD_PATH = (push (expand-file-name \".\") load-path)
SGML_DATA_DIRECTORY = (expand-file-name \"etc\")
SGML_ECAT_FILES = (expand-file-name \"ECAT\" sgml-data-directory)
SGML_CATALOG_FILES = (expand-file-name \"CATALOG\" sgml-data-directory)
EXTEND_LOAD_PATH = (push (expand-file-name \".\") load-path)
SGML_DATA_DIRECTORY = (expand-file-name \"etc\")
SGML_ECAT_FILES = (expand-file-name \"ECAT\" sgml-data-directory)
SGML_CATALOG_FILES = (expand-file-name \"CATALOG\" sgml-data-directory)
PRELOADS = -eval "(setq sgml-data-directory $(SGML_DATA_DIRECTORY))"

$(DATA_1_FILES): force

all:: $(ELCS) auto-autoloads.elc custom-load.elc \
	$(PACKAGE).info $(PACKAGE) \
	etc/ECAT etc/CATALOG $(DATA_1_FILES) $(DATA_2_FILES) etc/*.ent
	mkdir -p etc/cdtd
	$(XEMACS) -batch -no-autoloads -eval "$(EXTEND_LOAD_PATH)" \
	       -l psgml-parse \
               -eval "(setq sgml-auto-activate-dtd t  \
			    sgml-ecat-files (list $(SGML_ECAT_FILES))  \
			    sgml-catalog-files (list $(SGML_CATALOG_FILES)))" \
	       -f sgml-compile-all-dtds

# I left this target here even though 'clean' is usually done from
# XEmacs.rules because it's the only package that requires removal of
# a directory in the clean.  And I didn't want to put a special case in
# XEmacs.rules just for the benefit of 1 package. <>
	rm -fr etc/cdtd && rm -f $(ELCS) $(INFO_FILES) \
	    auto-autoloads.elc custom-load.elc

srckit: srckit-std

binkit: binkit-common

# Force rebuilding with this pseudo-target.