##
##	$Id: Makefile,v 21.2 92/05/17 03:09:18 chris Exp $
##	$Revision: 21.2 $
##
##	$Filename: Makefile $
##	$Author: chris $
##	$Release: 19.1 $
##	$Date: 92/05/17 03:09:18 $
##
##	Makefile to build iff.library and utilities
##
##	COPYRIGHT (C) 1987-1992 BY CHRISTIAN A. WEBER, BRUGGERWEG 2,
##	CH-8037 ZUERICH, SWITZERLAND.  ALL RIGHTS RESERVED.  NO PART
##	OF THIS SOFTWARE MAY BE COPIED, REPRODUCED,  OR  TRANSMITTED
##	IN ANY FORM OR BY ANY MEANS,  WITHOUT THE PRIOR WRITTEN PER-
##	MISSION OF THE AUTHOR. USE AT YOUR OWN RISK.
##

LIBDEST		= SYS:Libs-User/

AUTODOC		= DH0:Devel/Milano/Disk3/Debug/Devel/autodoc
AUTODOCFLAGS	= -a -C -I 

#############################################################################
##	Allgemeine Flags

CFLAGS	= -cfustq -fid -ms -v -rr -s -O
AFLAGS	= -l -iINCLUDE: 
LFLAGS	= ADDSYM

# -b0 = Nicht a4-relativ
# -cf = prototypes testen
# -cr = Register-Parameter mit prototypes
# -cs = Gleiche Strings nur einmal nehmen
# -ct = Warnung bei undef'd structure tags
# -cu = Alle chars sind unsigned
# -d2 = voll debug info, DEBUG-Symbol wird definiert
# -ff = FFP
# -fi = IEEEDoubBas
# -f8 = 68881 direkt
# -fd = alle floats sind double
# -m0 = 68000er Code
# -m2 = 68020er Code
# -ms = Code reducing optimization
# -mt = Time reducing optimization
# -O  = Optimizer on
# -rr = Argument passing immer in Registers
# -s  = Section names angeben (text/data/udata)
# -v  = Stack checking ausschalten
# -w  = 16 Bit ints


#############################################################################
##	Regeln

.s.o:
	Genam $(AFLAGS) $*.S

.c.o:
	LC $(CFLAGS) $*.c


#############################################################################
##	Kommandozeilen-Argumente für Make

ALL:	INCUSR:libraries/iff.h INCUSR:libraries/iff.i /iff.library /iff.lib FD:iff_lib.fd
#ALL:	INCUSR:libraries/iff.h INCUSR:libraries/iff.i /iff.library /iffpp.library
DOC:	/ifflib.doc


#############################################################################
##	Header- und fd files

INCUSR:libraries/iff.h:		iff.h
				Copy iff.h INCUSR:libraries/

INCUSR:libraries/iff.i:		iff.i
				Copy iff.i INCUSR:libraries/

FD:iff_lib.fd:			/iff_lib.fd
				Copy /iff_lib.fd FD:


#############################################################################
##	iff.library

IFFLIB_SRC =	ifflib.S openiff.S closeiff.S findchunk.S getbmhd.S\
 getcolortab.S decodepic.S savebitmap.S saveclip.S ifferror.S\
 getviewmodes.S modifyframe.S\
 PushChunk.S PopChunk.S WriteChunkBytes.S CompressBlock.S DecompressBlock.S

IFFLIB_MODS =	ifflib.o openiff.o closeiff.o findchunk.o getbmhd.o\
 getcolortab.o decodepic.o savebitmap.o saveclip.o ifferror.o\
 getviewmodes.o modifyframe.o\
 pushchunk.o popchunk.o writechunkbytes.o compressblock.o decompressblock.o

$(IFFLIB_MODS):	IFFLib.i INCUSR:libraries/iff.i

/iff.library:	$(IFFLIB_MODS)
		BLINK FROM $(IFFLIB_MODS) TO T:___iff LIB /iff.lib LIB:small.lib
		@AbsLoad >NIL: -©o/iff.library T:___iff
		@Delete T:___iff
		@Protect /iff.library rwd
		FlushLibs
		@FlushLibs
		Copy /iff.library $(LIBDEST)

#		@/iff.library


#############################################################################
##	iffpp.library

IFFPPLIB_MODS =	$(IFFLIB_MODS) ppopeniff.o ppopeniffc.o

/iffpp.library:	$(IFFPPLIB_MODS)
		BLINK FROM $(IFFPPLIB_MODS) TO T:___iff LIB LIB:small.lib
		@AbsLoad >NIL: -©o/iffpp.library T:___iff
		@Delete T:___iff
		@Protect /iffpp.library rwd
		FlushLibs
		@FlushLibs

#		@Echo "Copying library to $(LIBDEST)"
#		@Copy /iffpp.library $(LIBDEST)
#		@/iffpp.library

ppopeniffc.o:	ppopeniffc.c
		lc -v -b0 -O $*.c


#############################################################################
##	iff.lib (Link library)

/iff.lib:	IFF.S
		Genim2 $(AFLAGS) -o/iff.lib IFF.S

#############################################################################
##	Autodocs (ifflib.doc) und ifflib.guide

/ifflib.doc:	$(IFFLIB_SRC)
		$(AUTODOC) $(AUTODOCFLAGS) $(IFFLIB_SRC) >/ifflib.doc
		$(AUTODOC) $(AUTODOCFLAGS) -i $(IFFLIB_SRC) >/ifflib_internal.doc
		@Delete /*.hyper /*.hyper.info
		ad2ht / /
		@Rename /ifflib /ifflib.hyper
		@Rename /ifflib.info /ifflib.hyper.info
		@Rename /ifflib_internal /ifflib_internal.hyper
		@Rename /ifflib_internal.info /ifflib_internal.hyper.info

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