## Makefile for eMoney -*-Makefile-*- ## ## Copyright (C) 2003 - 2017 Steve Youngs ## ## This file is part of eMoney. ## ## Redistribution and use in source and binary forms, with or without ## modification, are permitted provided that the following conditions ## are met: ## ## 1. Redistributions of source code must retain the above copyright ## notice, this list of conditions and the following disclaimer. ## ## 2. Redistributions in binary form must reproduce the above copyright ## notice, this list of conditions and the following disclaimer in the ## documentation and/or other materials provided with the distribution. ## ## 3. Neither the name of the author nor the names of any contributors ## may be used to endorse or promote products derived from this ## software without specific prior written permission. ## ## THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR ## IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED ## WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE ## DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ## FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR ## CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF ## SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR ## BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, ## WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE ## OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN ## IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PACKAGE = emoney VER = 1.0 # csh... yell no, we won't go! SHELL = /bin/sh # Programs and their flags. ifndef XEMACS XEMACS = sxemacs endif XEMACS_FLAGS = -batch -no-autoloads INSTALL = install PKG_INSTALL = $(INSTALL) TAR = tar TAR_FLAGS = \ --create \ --owner=0 \ --group=0 \ --gzip \ --file # Our prefix. Everything hangs off this. ifndef PREFIX ifeq ('$(XEMACS)','sxemacs') PREFIX = /usr/local/share/sxemacs/site-packages else PREFIX = /usr/local/lib/xemacs/site-packages endif endif # Where the lisp files go. LISP_DIR = $(PREFIX)/lisp/$(PACKAGE) # If you want to make a tarball that you can just unpack on all your # PC's you can 'make pkg'. The 'pkg' target uses these directories to # build the tarball. STAGING = ../build-pkg INFO_STAGING = $(STAGING)/info LISP_STAGING = $(STAGING)/lisp/$(PACKAGE) ############################################################################ ## No User Configurable Items Below Here ## ############################################################################ SOURCES = $(wildcard ./emoney*.el) OBJECTS = $(SOURCES:.el=.elc) EXTRA_SRC = EXTRA_OBJ = $(wildcard ./auto-autoloads.el*) $(wildcard ./custom-*.el*) all:: emoney-version.el compile compile: $(XEMACS) $(XEMACS_FLAGS) -l "build.el" emoney-version.el: echo ";;; Automatically generated file -- DO NOT EDIT OR DELETE" > $@ echo ";;;###autoload" >> $@ echo "(defconst emoney-version" >> $@ if [[ -d ".git" && -x `which git 2>/dev/null` ]]; then \ printf ' "%s"' `git describe` >> $@; \ else \ echo -n ' "$(VER)"' >> $@; \ fi echo ")" >> $@ echo "(provide 'emoney-version)" >> $@ version: emoney-version.el install: all $(INSTALL) -d $(LISP_DIR) $(INSTALL) -m 644 $(SOURCES) $(EXTRA_SRC) $(OBJECTS) $(EXTRA_OBJ) \ $(LISP_DIR) pkg: all $(PKG_INSTALL) -d $(STAGING) $(LISP_STAGING) $(PKG_INSTALL) -m 644 $(SOURCES) $(EXTRA_SRC) $(OBJECTS) $(EXTRA_OBJ) \ $(LISP_STAGING) (cd $(STAGING); \ $(TAR) $(TAR_FLAGS) $(PACKAGE)-$(VER)-pkg.tar.gz ./*) upgrade: uninstall install uninstall:: rm -rf $(LISP_DIR) # rm -f $(INFO_DIR)/$(INFO_FILES) clean:: rm -f $(OBJECTS) \ auto-autoloads.el* custom-*.el* distclean: clean rm -f core* *~ TAGS tags emoney-version.el* # Developer targets tags: TAGS TAGS: $(SOURCES) etags $(SOURCES) dist: distclean (cd ../ ; \ $(TAR) $(TAR_FLAGS) $(PACKAGE)-$(VER).tar.gz ./$(PACKAGE)/) .PHONY: emoney-version.el version