### Makefile --- create binary package of X-Symbol ## Copyright (C) 1998-2003 Free Software Foundation, Inc. ## ## Author: Christoph Wedler ## Version: 4.5.X ## Keywords: fonts, WYSIWYG, LaTeX, HTML, wp, math ## X-URL: http://x-symbol.sourceforge.net/ # This software 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. # This software 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 This software; see the file COPYING. If not, write to # the Free Software Foundation, Inc., 59 Temple Place - Suite 330, # Boston, MA 02111-1307, USA. ### Commentary: ## This Makefile is for X-Symbol developers (esp. the author) using XEmacs, ## only! Use Makefile.emacs for Emacs. This file `include's a modified ## version of the generic XEmacs Package Makefile "XEmacs.rules". For details, ## see . ## The following targets might be interesting: ## - clean: delete the generated files ## - binball: build /tmp/staging/x-symbol-X.YY-pkg.tar.gz ## - srckit: build /tmp/staging/x-symbol-X.YY-src.tar.gz ## - info: create the info file (to check) ## - elc: create the elc files (to check) ## - www: create tar.gz for web pages incl manual (personal use only) ## - release: create all tar.gz files for new version (personal use only) ### Code: ## VERSION is a float! VERSION = 4.51 AUTHOR_VERSION = 4.5.1 MAINTAINER = Christoph Wedler PACKAGE = x-symbol PKG_TYPE = regular REQUIRES = xemacs-base CATEGORY = wp RELEASEDIR = $(HOME)/public_html/x-symbol PACKAGEDIR = $(HOME)/.xemacs/xemacs-packages ## nil if you want to use XEmacs-21' feature of uninterned symbols in ## macros XMAS20 = nil ## other program settings after "include ./XEmacs.rules" below ZIP = gzip -v9 MAKEINFO_FLAGS = -I ./man --no-split ###=========================================================================== ## Shouldn't be interesting from now on... (except "include ./XEmacs.rules") ELCS = lisp/x-symbol-hooks.elc lisp/x-symbol-macs.elc \ lisp/x-symbol-vars.elc lisp/x-symbol.elc \ lisp/x-symbol-image.elc lisp/x-symbol-sgml.elc \ lisp/x-symbol-tex.elc lisp/x-symbol-bib.elc \ lisp/x-symbol-texi.elc ## now Emacs version dependend files (no autoloads, no custom) MULE_ELCS = lisp/x-symbol-mule.elc lisp/x-symbol-nomule.elc \ lisp/x-symbol-xmacs.elc DATA_DEST = $(PACKAGE) DATA_FILES = Makefile.emacs \ etc/colormap138.xpm etc/RIP.xbm etc/drawing.xbm etc/escherknot.xbm \ etc/hourglass.xbm etc/recycle.xbm etc/termlock.xbm DATA_1_DEST = $(PACKAGE)/fonts DATA_1_FILES = fonts/Makefile fonts/makesub \ fonts/nilxs.bdf \ fonts/2helvR12.bdf fonts/3helvR12.bdf fonts/5etl14.bdf \ fonts/heriR12.bdf fonts/xsymb0_12.bdf fonts/xsymb1_12.bdf \ fonts/2helvR14.bdf fonts/3helvR14.bdf fonts/5etl16.bdf \ fonts/heriR14.bdf fonts/xsymb0_14.bdf fonts/xsymb1_14.bdf DATA_2_DEST = $(PACKAGE)/origfonts DATA_2_FILES = origfonts/helvR12.bdf origfonts/helvR14.bdf DATA_3_DEST = $(PACKAGE)/pcf DATA_3_FILES = pcf/fonts.dir pcf/*.pcf DATA_4_DEST = $(PACKAGE)/genfonts DATA_4_FILES = genfonts/*.bdf INFO_FILES = man/x-symbol.info* TEXI_FILES = man/Makefile man/x-symbol.texi man/x-symbol.css man/x-symbol.init WWW_FILES = www/changes.txt www/style.css www/overview.tex.txt \ www/index.html www/related.html www/details.html www/news.html \ www/addfonts.html \ www/colors.png www/context.png www/grid.png \ www/images.png www/key.png www/overview.png www/subscripts.png \ www/token.png MANUAL = x-symbol AUTOLOAD_PATH = lisp ###=========================================================================== include ./XEmacs.rules ## preserve, the .el files could be newer than the .elc files otherwise) RCOPY = cp -p ## follow symbolic links TAR = tar -h ###=========================================================================== GENERATED += lisp/custom-load.elc EXCLUDES += --exclude 'RCS' --exclude '*.elc' --exclude '*.aux' \ --exclude '*.cp' --exclude '*.dvi' \ --exclude 'genfonts' --exclude 'pcf' \ --exclude 'Also' --exclude 'Fonts' --exclude 'Old' --exclude 'Tests' \ --exclude 'Utils' --exclude 'doc' --exclude 'release' \ --exclude 'www' --exclude 'admin' --exclude 'dated' EXTRA_SOURCES = lisp/x-symbol-emacs.el ifeq ($(XMAS20),t) PRELOADS = -eval "(setq byte-compile-print-gensym nil)" else PRELOADS = endif PRELOADS += -eval "(progn (if (featurep 'x-symbol-autoloads) (unload-feature 'x-symbol-autoloads)) (push \"`pwd`/lisp/\" load-path))" -l auto-autoloads.el ifeq ($(PEDANTIC),t) PRELOADS += -eval "(setq stack-trace-on-error t)" ## every file with name matching "x-symbol" will be load/required uncompiled PRELOADS += -eval "(progn \ (defadvice require (before require activate) \ (or filename \ (not (string-match \"x-symbol\" (symbol-name feature))) \ (setq filename (format \"%s.el\" feature)))) \ (defadvice load (before load activate) \ (or nosuffix \ (string-match \"\\\\.el\\\\'\" file) \ (not (string-match \"x-symbol\" (file-name-nondirectory file))) \ (setq file (format \"%s.el\" file) nosuffix t))))" endif # With XEmacs-21.1, -vanilla now only includes -no-early-packages, not # -no-packages. This is not useful at all. If there is a decent function to # get the load-path of packages in $(REQUIRES), I would use it. If # package-compile.el could be used without changing my file structure, I would # probably use it. all:: lisp/auto-autoloads.el $(MULE_ELCS) $(ELCS) \ lisp/auto-autoloads.elc lisp/custom-load.elc info fonts elcs: lisp/auto-autoloads.el $(MULE_ELCS) $(ELCS) \ lisp/auto-autoloads.elc lisp/custom-load.elc info: man/x-symbol.texi $(MAKE) -C man x-symbol.info fonts: $(MAKE) -C fonts mkdirs $(MAKE) -C fonts pcfs .PHONY: srckit test release fonts info elcs srckit: srckit-std clean: mostlyclean $(MAKE) -C man clean $(MAKE) -C fonts clean binkit: binkit-common www: $(STAGING)/x-symbol/www.tar.gz release: srckit man/index.html man/x-symbol.ps binball www $(MAKE) -C release VERSION=$(VERSION) release wwwrelease: www $(MAKE) -C release VERSION=$(VERSION) release man/index.html: man/x-symbol.texi man/x-symbol.init $(MAKE) -C man html man/x-symbol.ps: man/x-symbol.texi $(MAKE) -C man ps man/x-symbol.pdf: man/x-symbol.texi $(MAKE) -C man pdf $(STAGING)/x-symbol/www.tar.gz: $(WWW_FILES) man/index.html man/x-symbol.css \ man/x-symbol.ps man/x-symbol.pdf if [ ! -d $(STAGING)/x-symbol/man ]; \ then mkdir -p $(STAGING)/x-symbol/man; fi rm -f $(STAGING)/x-symbol/man/* $(RCOPY) $(WWW_FILES) $(STAGING)/x-symbol $(RCOPY) man/x-symbol.css man/index.html man/x-symbol*.html \ man/x-symbol.ps man/x-symbol.pdf $(STAGING)/x-symbol/man ## $(ZIP) -f $(STAGING)/x-symbol/man/x-symbol.ps ## $(ZIP) -f $(STAGING)/x-symbol/man/x-symbol.pdf $(CHMOD) $(STAGING)/x-symbol/* $(CHMOD) $(STAGING)/x-symbol/man/* (cd $(STAGING)/x-symbol; \ $(TAR) -cf www.tar $(notdir $(WWW_FILES)) man; \ $(ZIP) -f www.tar)