#++++++++++++++++
#.IDENTIFICATION Makefile
#.LANGUAGE       Make (makefile script)
#.AUTHOR         Francois Ochsenbein [CDS]
#.ENVIRONMENT    Unix
#.KEYWORDS       
#.VERSION  1.0   07-Aug-2001
#.PURPOSE        (Re)Create dependent files in this Directory
#.COMMENTS       The script check.sys is assumed to exist.
#		It creates in a local file .sys the `uname -m` value
#		followed by the necessary -l options
#----------------

SHELL=/bin/sh
#MACHINE=local

# Defaut rule (e.g. copy from a public directory)
.DEFAULT:

# Programs:
CC      = cc
COPY    = cp -p
STRIP   = strip
RANLIB  = ranlib
AR      = ar ruv

# Directories: ##########################################
PREFIX  = $(HOME)
#########################################################
INCDIR  = $(PREFIX)/include
LIBDIR  = $(PREFIX)/lib
BINDIR  = $(PREFIX)/bin
SHSDIR  = $(PREFIX)/bin
MANDIR  = $(PREFIX)/man

# Files:
LIB     =
BIN     = gsc22
SHS     =
MAN     =

# Options:
DEBUG =
C_OPT = -O
SYS =
CFLAGS = $(C_OPT) $(DEBUG) $(SYS) -I. -I$(INCDIR)
COMPILE= $(CC) $(CFLAGS) -c
LIBSYS = `check.sys -l`

# RULES: If the default rules haven't to be applied, remove the #
#.SUFFIXES: 
#.SUFFIXES: .tex .dvi .c .o
#.tex.dvi:
#	latex $*
#.c:
#	$(CC) $(CFLAGS) $< $(LIBSYS) -o $@

# Dependencies:
all: gsc22 

gsc22: gsc2.h gsc22.c gsc2fit.c htm1.c htm1.h
	$(CC) $(CFLAGS) gsc22.c gsc2fit.c htm1.c -o $@ -lm

gsc22-whole: gsc2.h gsc22-whole.c gsc2fit.c htm1.c htm1.h
	$(CC) $(CFLAGS) gsc22-whole.c gsc2fit.c htm1.c -o $@ -lm

# Installation:
install: install_bin 

# Export the files for a new installation
export: /tmp/export

/tmp/export:
	if test -d /tmp/gsc22-src; then rm -r /tmp/gsc22-src; fi
	mkdir /tmp/gsc22-src
	cp -p *.c *.h /tmp/gsc22-src
	sed 's/^\(PREFIX *=\).*$$/\1 $$(HOME)/' Makefile \
	    > /tmp/gsc22-src/Makefile
	cd /tmp && tar cvf $@ gsc22-src
	gzip -v9 $@
	rm -rf tmp

install_bin: $(BIN)
	$(COPY) $? $(BINDIR)

install_shs: $(SHS)
	$(COPY) $? $(SHSDIR)

# Clean up everything
clean:
	rm -f core a.out *.o *.log *.lis *.dvi *.ps *.aux *.trace
	rm -f .sys

CLEAN:	clean
	rm *.a $(BIN)


