# tag: Tom Lord Tue Dec  4 14:47:18 2001 (scm-scripts.mk)
#
# scm-scripts.mk -
#
################################################################
# Copyright (C) 2001 Tom Lord
# 
# See the file "COPYING" for further information about
# the copyright and warranty status of this work.
# 



ifndef scm-scripts-mk
scm-scripts-mk	:= 1

# This file creates Scheme programs organized as scripts
# suitable for use with execve.  These programs are
# created in the build directory and not installed.
# (See "install-scm-scripts.mk".)
#
# The variable $(scm-scripts) may be set on entry to a
# list of the scripts which should have the extension ".ss", 
# for example:
#
#	scm-scripts	:=	piw-analyze.ss
#
# By default, scm-scripts is all files in the source directory
# with the extension "ss".
#
# On `make all', the scripts are copied to the build directory
# with this line prefixed to the script:
#
#	#!$(shell pwd)/../systas/systas
#
# If the source file already has a first line beginning
# with "#!", that line is removed.
#
# The extension is removed from the script when copied to the build
# directory.
#

ifndef scm-scripts
scm-scripts			:=	$(sort $(notdir $(wildcard $(srcdir)/[^,+=]*.ss)))
endif

script-names			:=	$(basename $(scm-scripts))
build-systas			:=	$(cfg__std__objroot)/systas/systas/systas

include $(makefiles)/rules.mk

all: $(script-names)

$(script-names):%:%.ss
	for f in $@ ; do \
	  test ! -e $$f || rm $$f ; \
	done
	echo "#!$(build-systas)" > $@
	cat $< | sed -e "1{/#!/d;}" >> $@
	chmod ugo+x $@

clean: clean-scm-scripts

clean-scm-scripts:
	for f in $(script-names) ,fake ; do \
	  test ! -e $$f || rm $$f ; \
	done

endif
