SHELL = /bin/sh prefix = /usr/local libdir = $(prefix)/lib docdir = $(prefix)/share/doc pkglibdir = $(libdir)/sunterlib pkgdocdir = $(docdir)/sunterlib INSTALL = /usr/bin/install INSTALL_DATA = $(INSTALL) -m 644 .SUFFIXES: version := 0.5 s48-interfaces := $(shell find s48 \ -maxdepth 2 -mindepth 2 \ -name interfaces.scm) s48-packages := $(shell find s48 \ -maxdepth 2 -mindepth 2 \ -name packages.scm) s48-srcs := $(shell find s48 \ -mindepth 2 \ ! -name interfaces.scm \ ! -name packages.scm \ -name "*.scm") s48-docs := $(shell find s48 \ -mindepth 2 \ -name README) s48-authors := $(shell find s48 \ -maxdepth 2 -mindepth 2 \ -name AUTHORS) s48-blurbs := $(shell find s48 \ -maxdepth 2 -mindepth 2 \ -name BLURB) scsh-interfaces := $(shell find scsh \ -maxdepth 2 -mindepth 2 \ -name interfaces.scm) scsh-packages := $(shell find scsh \ -maxdepth 2 -mindepth 2 \ -name packages.scm) scsh-srcs := $(shell find scsh \ -mindepth 2 \ ! -name interfaces.scm \ ! -name packages.scm \ -name "*.scm") scsh-docs := $(shell find scsh \ -mindepth 2 \ -name README) scsh-authors := $(shell find scsh \ -maxdepth 2 -mindepth 2 \ -name AUTHORS) scsh-blurbs := $(shell find scsh \ -maxdepth 2 -mindepth 2 \ -name BLURB) s48-targets := s48-interfaces.scm s48-packages.scm sunterlib-s48.scm scsh-targets := interfaces.scm packages.scm sunterlib.scm targets := $(s48-targets) $(scsh-targets) DETAILS .PHONY: all s48 scsh all : s48 scsh DETAILS s48 : $(s48-targets) scsh : $(scsh-targets) s48-interfaces.scm : $(s48-interfaces) build/header.scm cat build/header.scm > s48-interfaces.scm for interface in $(s48-interfaces) ; \ do \ cat $${interface} >> s48-interfaces.scm ; \ done s48-packages.scm : $(s48-packages) build/header.scm build/xpackages.scm s48-packages.scm build/header.scm $(s48-packages) interfaces.scm : $(s48-interfaces) $(scsh-interfaces) build/header.scm cat build/header.scm > interfaces.scm for interface in $(s48-interfaces) $(scsh-interfaces) ; \ do \ cat $${interface} >> interfaces.scm ; \ done packages.scm : $(s48-packages) $(scsh-packages) build/header.scm build/xpackages.scm packages.scm build/header.scm $(s48-packages) $(scsh-packages) sunterlib-s48.scm : s48-interfaces.scm s48-packages.scm cat s48-interfaces.scm s48-packages.scm > sunterlib-s48.scm sunterlib.scm : interfaces.scm packages.scm cat interfaces.scm packages.scm > sunterlib.scm DETAILS : $(s48-authors) $(s48-blurbs) $(scsh-authors) $(scsh-blurbs) build/details.scm .PHONY : install uninstall install : s48 scsh DETAILS $(INSTALL) -d $(pkglibdir) $(INSTALL_DATA) s48-interfaces.scm s48-packages.scm sunterlib-s48.scm $(pkglibdir) $(INSTALL_DATA) interfaces.scm packages.scm sunterlib.scm $(pkglibdir) $(INSTALL) -d $(pkgdocdir) $(INSTALL_DATA) README $(pkgdocdir) $(INSTALL_DATA) COPYING $(pkgdocdir) $(INSTALL_DATA) DETAILS $(pkgdocdir) for s48src in $(s48-srcs); \ do \ $(INSTALL) -d $(pkglibdir)/`dirname $${s48src}`; \ $(INSTALL_DATA) $${s48src} $(pkglibdir)/$${s48src}; \ done for s48doc in $(s48-docs); \ do \ $(INSTALL) -d $(pkgdocdir)/`dirname $${s48doc}`; \ $(INSTALL_DATA) $${s48doc} $(pkgdocdir)/$${s48doc}; \ done for scshsrc in $(scsh-srcs); \ do \ $(INSTALL) -d $(pkglibdir)/`dirname $${scshsrc}`; \ $(INSTALL_DATA) $${scshsrc} $(pkglibdir)/$${scshsrc}; \ done for scshdoc in $(scsh-docs); \ do \ $(INSTALL) -d $(pkgdocdir)/`dirname $${scshdoc}`; \ $(INSTALL_DATA) $${scshdoc} $(pkgdocdir)/$${scshdoc}; \ done uninstall : -rm -rf $(pkglibdir) $(pkgdocdir) .PHONY : dist dist : mkdir sunterlib-$(version) cp COPYING INSTALL Makefile NEWS README README.admin README.contrib sunterlib-$(version)/ cp -r build sunterlib-$(version)/build cp -r s48 sunterlib-$(version)/s48 cp -r scsh sunterlib-$(version)/scsh find sunterlib-$(version)/ -name CVS | xargs rm -rf find sunterlib-$(version)/ -name "*~" | xargs rm -f tar -czf sunterlib-$(version).tar.gz sunterlib-$(version) rm -rf sunterlib-$(version) .PHONY : clean distclean clean : -rm -f $(targets) distclean : clean -rm -rf sunterlib-$(version) sunterlib-$(version).tar.gz