case $CONFIG in
'')
if test ! -f config.sh; then
ln ../config.sh . || \
ln ../../config.sh . || \
ln ../../../config.sh . || \
(echo "Can't find config.sh."; exit 1)
fi
. ./config.sh
;;
esac
case "$0" in
*/*) cd `expr X$0 : 'X\(.*\)/'` ;;
esac
case "$d_symlink" in
*define*) sln='ln -s' ;;
*) sln='ln';;
esac
liblist="mailer mbox misc"
echo "Extracting Makefile (with variable substitutions)"
cat >Makefile <<!GROK!THIS!
#!$make
# $Id: Makefile.SH,v 1.30 2006/08/25 15:47:37 hurtta Exp $
#
# Makefile for the entire ELM mail system
#
# Modified by Kari Hurtta Kari Hurtta <hurtta+elm@posti.FMI.FI>
######################################################################
# Based on Makefile.SH. That code was following copyright:
#
# (C) Copyright 1986,1987, by Dave Taylor
# (C) Copyright 1988-1992, USENET Community Trust
######################################################################
#
# Variables established by Configure
CAT = $cat
GREP = $grep
ECHO = $echo
PR = $pr
SHAR = $shar -s 60000
SLEEP = $sleep
TAR = $tar
TAPE = $rmttape
!GROK!THIS!
if $test "$make_sets_make" != "$define" ; then
cat >>Makefile <<!GROK!THIS!
MAKE = $make
!GROK!THIS!
fi
cat >>Makefile <<'!NO!SUBS!'
# Other variables
SHELL = /bin/sh
SOURCE_FILES = `$(GREP) -v 'doc/' MANIFEST`
DISTRIBUTED_FILES = `$(CAT) MANIFEST`
# Targets
# Give default target first and alone
default_target: installer all
installer: bin/elmregister
bin/elmregister: utils/elmregister.c config.sh
cd utils; $(MAKE) $(MJ) $(MFLAGS) ../bin/elmregister
install: config.h config.sh hdrs/sysdefs.h Makefile installer all
bin/elmregister master $(MAKE) $(MJ) $(MFLAGS) install_s
bin/elmregister replay -M all
bin/elmregister unstage -M all
uninstall: config.h config.sh installer
bin/elmregister master $(MAKE) $(MJ) $(MFLAGS) uninstall_s
# Helper target for testing
install_libs: config.h config.sh hdrs/sysdefs.h Makefile installer all
bin/elmregister master $(MAKE) $(MJ) $(MFLAGS) install_libs_s
bin/elmregister replay -M all
install_libs_s: install1_libs_s config.h config.sh hdrs/sysdefs.h
!NO!SUBS!
for i in $liblist
do
cat >>Makefile <<!SUBS!
cd lib/$i; \$(MAKE) \$(MJ) \$(MFLAGS) install_s
!SUBS!
done
cat >>Makefile <<'!NO!SUBS!'
cd lib; $(MAKE) $(MJ) $(MFLAGS) install_s
cd melib; $(MAKE) $(MJ) $(MFLAGS) install_s
cd shared_libs; $(MAKE) $(MJ) $(MFLAGS) install_s
# Targets that are simply executed in each subordinate makefile as is
all install_s uninstall_s lint clean: config.h config.sh \
hdrs/sysdefs.h Makefile
!NO!SUBS!
for i in $liblist
do
cat >>Makefile <<!SUBS!
cd lib/$i; \$(MAKE) \$(MJ) \$(MFLAGS) \$@
!SUBS!
done
cat >>Makefile <<'!NO!SUBS!'
cd lib; $(MAKE) $(MJ) $(MFLAGS) $@
cd melib; $(MAKE) $(MJ) $(MFLAGS) $@
cd shared_libs; $(MAKE) $(MJ) $(MFLAGS) $@
cd src/messages; $(MAKE) $(MJ) $(MFLAGS) $@
cd src/screen; $(MAKE) $(MJ) $(MFLAGS) $@
cd src/aliases; $(MAKE) $(MJ) $(MFLAGS) $@
cd src/menu_common; $(MAKE) $(MJ) $(MFLAGS) $@
cd src/url; $(MAKE) $(MJ) $(MFLAGS) $@
cd src/block; $(MAKE) $(MJ) $(MFLAGS) $@
cd src/list; $(MAKE) $(MJ) $(MFLAGS) $@
cd src; $(MAKE) $(MJ) $(MFLAGS) $@
cd utils/readmsg; $(MAKE) $(MJ) $(MFLAGS) $@
cd utils; $(MAKE) $(MJ) $(MFLAGS) $@
cd doc; $(MAKE) $(MJ) $(MFLAGS) $@
$(MAKE) -f Makefile-1 $(MJ) $(MFLAGS) $@
# Check that config.h is up of date
config.h: config.h.SH config.sh
@echo "You must run 'sh Configure -S' or 'sh Configure'"
exit 1
hdrs/sysdefs.h: hdrs/sysdefs.SH config.sh
@echo "You must run 'sh Configure -S' or 'sh Configure'"
exit 1
# Check that config.sh is up of data
config.sh: Configure hdrs/patchlevel.h
@echo "You must run 'sh Configure'"
exit 1
Makefile: Makefile.SH config.sh
@echo "You must run 'sh Configure -S' or 'sh Configure'"
exit 1
# Targets that apply to all elm at once
listing:
@$(ECHO) "Making source listing in file LISTING."
@$(PR) -n -f $(SOURCE_FILES) > LISTING
shar:
$(SHAR) $(DISTRIBUTED_FILES)
tar:
$(TAR) cvf $(TAPE) $(DISTRIBUTED_FILES)
# Targets that are really in subordinate make files
documentation:
cd doc; $(MAKE) $(MJ) $(MFLAGS) $@
elm:
!NO!SUBS!
for i in $liblist
do
cat >>Makefile <<!SUBS!
cd lib/$i; \$(MAKE) \$(MJ) \$(MFLAGS) \$@
!SUBS!
done
cat >>Makefile <<'!NO!SUBS!'
cd lib; $(MAKE) $(MJ) $(MFLAGS) all
cd melib; $(MAKE) $(MJ) $(MFLAGS) all
cd src/messages; $(MAKE) $(MJ) $(MFLAGS) $@
cd src/screen; $(MAKE) $(MJ) $(MFLAGS) $@
cd src/aliases; $(MAKE) $(MJ) $(MFLAGS) $@
cd src/menu_common; $(MAKE) $(MJ) $(MFLAGS) $@
cd src/url; $(MAKE) $(MJ) $(MFLAGS) $@
cd src/block; $(MAKE) $(MJ) $(MFLAGS) $@
cd src/list; $(MAKE) $(MJ) $(MFLAGS) $@
cd src; $(MAKE) $(MJ) $(MFLAGS) all
# The dummy dependency here prevents make from thinking the target is the
# utils directory that sits in the current directory, rather than
# an abstract target.
utils: _utils
_utils:
cd utils; $(MAKE) $(MJ) $(MFLAGS) all
libs/libelmme-base.a:
cd lib; $(MAKE) $(MJ) $(MFLAGS) ../libs/libelmme-base.a
libs/libelmme-mime.a:
cd melib; $(MAKE) $(MJ) $(MFLAGS) ../libs/libelmme-mime.a
install1_libs_s:
!NO!SUBS!
for i in $liblist
do
cat >>Makefile <<!SUBS!
cd lib/$i; \$(MAKE) \$(MJ) \$(MFLAGS) install_s
!SUBS!
done
for i in $liblist
do
cat >>Makefile <<!SUBS!
libs/libelmme-$i.a:
cd lib/$i; \$(MAKE) \$(MJ) \$(MFLAGS) ../../libs/libelmme-$i.a
!SUBS!
done
if $test "$d_shared" = "$define" ; then
cat >>Makefile <<'!NO!SUBS!'
shlib/libelmme-base.so: libs/libelmme-base.a
cd lib; $(MAKE) $(MJ) $(MFLAGS) ../libs/libelmme-base.so
shlib/libelmme-mime.so: libs/libelmme-mime.a
cd melib; $(MAKE) $(MJ) $(MFLAGS) ../libs/libelmme-mime.so
!NO!SUBS!
for i in $liblist
do
cat >>Makefile <<!SUBS!
shlib/libelmme-$i.so: libs/libelmme-$i.a
cd lib/$i; \$(MAKE) \$(MJ) \$(MFLAGS) ../../libs/libelmme-$i.so
!SUBS!
done
fi
if $test "$build_package" = "$define" ; then
cat >>Makefile <<!SUBS!
package: config.h config.sh hdrs/sysdefs.h Makefile installer all
bin/elmregister master -R "\$(ROOT)" \$(MAKE) \$(MJ) \$(MFLAGS) install_s
@echo "#### Putting instructions to file \$(ROOT)/README.PACKAGE.sh"
@echo "$startsh" >\$(ROOT)/README.PACKAGE.sh
@echo "# Package $package" >>\$(ROOT)/README.PACKAGE.sh
@echo "# package filelist is on .$etc/elm.filelist" >>\$(ROOT)/README.PACKAGE.sh
@echo "#To move files to final place, use command:" >>\$(ROOT)/README.PACKAGE.sh
@echo ".$lib/elmregister replay -M all -R \\\`pwd\\\` " >>\$(ROOT)/README.PACKAGE.sh
!SUBS!
fi
syntax highlighted by Code2HTML, v. 0.9.1