#
# makeSIGN
#

# These are optimization flags for different architectures.
# Do you know any more? Please mail them to <mitch@uni.de>

# i386 Linux
#CFLAGS          = -O2 -Wall -pipe -m486 -fomit-frame-pointer

# i386 DOS
#CFLAGS          = -O2 -Wall -m486 -fomit-frame-pointer


# --------- everything below should not be changed --------------

SHELL=/bin/sh

# Namen fr Archive
VERSION=makesign-1.33.1
TARGZ=$(VERSION).src
ZIP-PRECOMP=$(VERSION).bin.DOS
ZIP-SOURCE=$(VERSION).src.DOS

# Programmname
PROG=makesign

# Dokumentation
DOCSUB=doc
DOCSUBSUB=examples
DOCDIR=/usr/doc/packages

# DOS-Source-Unterordner
SRCDOS=source

# Standard GNU
prefix=/usr/local
exec_prefix=$(prefix)
bindir=$(exec_prefix)/bin
libdir=$(exec_prefix)/lib
datadir=$(prefix)/lib
statedir=$(prefix)/lib
includedir=$(prefix)/include
manext=1
mandir=$(prefix)/man
infodir=$(prefix)/info

srcdir=.

INSTALL=cp
INSTALL_PROGRAM=$(INSTALL)
INSTALL_DATA=$(INSTALL)

#
# Ab hier geht's los:
#

all:	listen.o string.o subs.o parts.o makesign.o
	$(CC) $(CFLAGS) $(srcdir)/makesign.o $(srcdir)/string.o $(srcdir)/listen.o $(srcdir)/parts.o $(srcdir)/subs.o -o $(PROG)

install:	all	installdirs
	$(INSTALL_PROGRAM) -f $(srcdir)/$(PROG) $(bindir)
	chmod 755 $(bindir)/$(PROG)
	$(INSTALL_DATA) -rf $(srcdir)/$(DOCSUB)/* $(DOCDIR)/$(PROG)
	chmod -R 644 $(DOCDIR)/$(PROG)/*

uninstall:
	-rm $(bindir)/$(PROG)
	-rm -R $(DOCDIR)/$(PROG)

clean:
	-rm $(srcdir)/$(PROG)
	-rm $(srcdir)/*~
	-rm $(srcdir)/*.o

distclean:	clean
mostlyclean:	clean
realclean:	clean

dist:
	-rm -R $(srcdir)/$(VERSION)
	mkdir $(srcdir)/$(VERSION)
	mkdir $(srcdir)/$(VERSION)/$(DOCSUB)
	$(INSTALL_DATA) $(srcdir)/*.c $(srcdir)/$(VERSION)
	$(INSTALL_DATA) $(srcdir)/*.h $(srcdir)/$(VERSION)
	$(INSTALL_DATA) $(srcdir)/Makefile $(srcdir)/$(VERSION)
	$(INSTALL_DATA) $(srcdir)/ToDo $(srcdir)/$(VERSION)
	$(INSTALL_DATA) $(srcdir)/History $(srcdir)/$(VERSION)
	$(INSTALL_DATA) $(srcdir)/README $(srcdir)/$(VERSION)
	$(INSTALL_DATA) $(srcdir)/COPYING $(srcdir)/$(VERSION)
	$(INSTALL_DATA) $(srcdir)/makesign.lsm $(srcdir)/$(VERSION)
	$(INSTALL_DATA) -R $(srcdir)/$(DOCSUB)/* $(srcdir)/$(VERSION)/$(DOCSUB)
	chmod 777 $(srcdir)/$(VERSION)
	chmod 666 $(srcdir)/$(VERSION)/*
	chmod 777 $(srcdir)/$(VERSION)/$(DOCSUB)
	chmod 666 $(srcdir)/$(VERSION)/$(DOCSUB)/*
	chmod 777 $(srcdir)/$(VERSION)/$(DOCSUB)/$(DOCSUBSUB)
	chmod 666 $(srcdir)/$(VERSION)/$(DOCSUB)/$(DOCSUBSUB)/*
	tar -c $(srcdir)/$(VERSION) | gzip > $(srcdir)/$(TARGZ).tar.gz
	rm -R $(srcdir)/$(VERSION)

dist-linux:	dist

dist-dos:	dist-dos-source	dist-dos-precomp

dist-dos-precomp:	dist-dos-source
	-rm -R $(srcdir)/$(VERSION)
	mkdir $(srcdir)/$(VERSION)
	$(INSTALL_DATA) $(srcdir)/makesign.exe $(srcdir)/$(VERSION)
	chmod 777 $(srcdir)/$(VERSION)/*
	cp $(srcdir)/$(ZIP-SOURCE).zip $(srcdir)/$(ZIP-PRECOMP).zip
	zip -r $(srcdir)/$(ZIP-PRECOMP).zip $(srcdir)/$(VERSION)
	rm -R $(srcdir)/$(VERSION)

	# 	<<< be sure that MAKESIGN.EXE is up-to-date >>>

dist-dos-source:
	-rm -R $(srcdir)/$(VERSION)
	mkdir $(srcdir)/$(VERSION)
	mkdir $(srcdir)/$(VERSION)/$(DOCSUB)
	mkdir $(srcdir)/$(VERSION)/$(SRCDOS)
	$(INSTALL_DATA) $(srcdir)/*.c $(srcdir)/$(VERSION)/$(SRCDOS)
	recode lat1:ibmpc $(srcdir)/$(VERSION)/$(SRCDOS)/*.c
	$(INSTALL_DATA) $(srcdir)/*.h $(srcdir)/$(VERSION)/$(SRCDOS)
	recode lat1:ibmpc $(srcdir)/$(VERSION)/$(SRCDOS)/*.h
	$(INSTALL_DATA) $(srcdir)/Makefile $(srcdir)/$(VERSION)/$(SRCDOS)
	$(INSTALL_DATA) $(srcdir)/ToDo $(srcdir)/$(VERSION)
	recode lat1:ibmpc $(srcdir)/$(VERSION)/ToDo
	$(INSTALL_DATA) $(srcdir)/History $(srcdir)/$(VERSION)
	recode lat1:ibmpc $(srcdir)/$(VERSION)/History
#	$(INSTALL_DATA) $(srcdir)/README $(srcdir)/$(VERSION)
#	recode lat1:ibmpc $(srcdir)/$(VERSION)/README
	$(INSTALL_DATA) $(srcdir)/COPYING $(srcdir)/$(VERSION)
	recode lat1:ibmpc $(srcdir)/$(VERSION)/COPYING
	$(INSTALL_DATA) -R $(srcdir)/$(DOCSUB)/* $(srcdir)/$(VERSION)/$(DOCSUB)
	recode lat1:ibmpc $(srcdir)/$(VERSION)/$(DOCSUB)/$(DOCSUBSUB)/*
	chmod 777 $(srcdir)/$(VERSION)
	chmod 666 $(srcdir)/$(VERSION)/*
	chmod 777 $(srcdir)/$(VERSION)/$(DOCSUB)
	chmod 666 $(srcdir)/$(VERSION)/$(DOCSUB)/*
	chmod 777 $(srcdir)/$(VERSION)/$(SRCDOS)
	chmod 666 $(srcdir)/$(VERSION)/$(SRCDOS)/*
	rm $(srcdir)/$(VERSION)/$(DOCSUB)/*.sgml
	rm $(srcdir)/$(VERSION)/$(DOCSUB)/*.linux
	chmod 777 $(srcdir)/$(VERSION)/$(DOCSUB)/$(DOCSUBSUB)
	chmod 666 $(srcdir)/$(VERSION)/$(DOCSUB)/$(DOCSUBSUB)/*
	zip -r - $(srcdir)/$(VERSION) > $(srcdir)/$(ZIP-SOURCE).zip
	rm -R $(srcdir)/$(VERSION)

installdirs:
	-mkdir $(DOCDIR)/$(PROG)
	chmod 755 $(DOCDIR)/$(PROG)

# TAGS:
# info:
# dvi:
# check:
# installcheck:

#############################################################################

help:
	# available options are:
	# make all		- compiles and links everything
	# make install		- installs binaries & documentation
	# make uninstall	- removes binaries & documentation
	# make clean		- removes *.o and some other files
	# make dist		- makes a nice tarball
	# make dist-linux	- same as above
	# make dist-dos         - same as dist-dos-source && dist-dos-precomp
	# make dist-dos-source	- makes a .ZIP and converts some files to DOS-CR/LF
	# make dist-dos-precomp	- adds the MAKESIGN.EXE file to the DOS-src.ZIP
	# make help		- displays this help

#############################################################################
makesign.h:	

parts.h:	

strings.h:	boolean.h

subs.h:		boolean.h

listen.h:	

boolean.h:	

vars.h:	listen.h boolean.h

vars-def.h:	listen.h boolean.h

global.h:

makesign.c:	boolean.h global.h types.h vars-def.h parts.h string.h

string.c:	boolean.h global.h string.h subs.h

parts.c:	boolean.h string.h global.h types.h vars.h subs.h parts.h

subs.c:		boolean.h string.h global.h types.h vars.h subs.h

listen.c:

makesign.o:	makesign.c

string.o:	string.c

parts.o:	parts.c

subs.o:	subs.c

listen.o:	listen.c
