# Experimental versioning checks for packages # Copyright (C) 2003 Steve Youngs. # 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., 51 Franklin Street, Fifth Floor, # Boston, MA 02110-1301, USA. # Requires XEmacs 21.0-beta19 or greater and GNU Make 3.78 or greater. # This is for packages that require specific XEmacs versions to run # (generally a VERY VERY BAD thing). If you think your package needs # this please take another look at your code to see if you can make it # version independent. Right now the only package that uses this is # Mule-UCS, lets try to keep it that way. SY # To get this to work, in the package's Makefile: # # include ../../Local.rules # CHECK_VERSION = $(XEMACS) -batch -no-autoloads -eval '(princ (emacs-version>= x y z))' # # 'x y z' represents the minimum XEmacs major and optional minor and patch versions # # this package runs on. # ifeq ($(shell $(CHECK_VERSION)),t) # [rest of normal package Makefile] # else # include ../../Version.rules # bad-version: # [what to do if not right XEmacs version, usually just echo # something to stdout] # endif # For a working example look at ./mule-packages/mule-ucs/Makefile # From here on it is just a list of targets that all point to the # 'bad-version' target. all: bad-version autoloads: all bindist: all binkit: all bytecompile: all clean: all compile: all distclean: all extraclean: all genclean: all html: all install-for-bindist: all install-html: all install-only: all install: all mostlyclean: all pdepends.mk: all world: all World: all # Local Variables: # mode: makefile # End: