# TSMorph - Amiga Morphing program
# Copyright (C) © 1993  Topicsave Limited

# $VER: TSMorph_smakefile 3.2 (12.3.95)

# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# any later version.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.

# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

# mpaddock@cix.compulink.co.uk

# Make file for TSMorph and SAS/C 6.55

# Compilation flags
# Normal compile
CCFLAGS = CONSTLIB CNEST NMINC STRMERGE STREQ IDIR=INCLUDE: OPTIMIZE OPTTIME OPTGLOBAL NOSTKCHK MATH=STANDARD IGNORE=104 IGNORE=304 IGNORE=105 IGNORE=306 DEBUG=L VERBOSE
# 881 maths compile
CCFLAGS881 = COMNEST NMINC STRMERGE STREQ IDIR=INCLUDE: CPU=68020 OPTIMIZE OPTTIME OPTGLOBAL OPTSCHED DEFINE=MY68881_6 MATH=68881 NOSTKCHK IGNORE=104 IGNORE=304 IGNORE=105 IGNORE=306 DEBUG=L VERBOSE
#040 match compile
CCFLAGS040 = COMNEST NMINC STRMERGE STREQ IDIR=INCLUDE: CPU=68040 OPTIMIZE OPTTIME OPTGLOBAL OPTSCHED DEFINE=MY68881_6 MATH=68881 NOSTKCHK IGNORE=104 IGNORE=304 IGNORE=105 IGNORE=306 DEBUG=L VERBOSE
# default compilation
.c.o:
   sc $(CCFLAGS) $*.c

# various defines
B         = brush/
C         = cursor/
G         = Gui/
R         = Rexx/
I         = .info
E         = ENV/TSMorph/
J         = JPEG_LS/
H         = HTML/Images/
JPEGLSS1  = $(J)jconfig.h $(J)jdcolor.c $(J)jddeflts.c $(J)jdhuff.c $(J)jdmain.c $(J)jdmaster.c $(J)jdmcu.c $(J)jrdgif.c
JPEGLSS2  = $(J)jdpipe.c $(J)jdsample.c $(J)jinclude.h $(J)jmemmgr.c $(J)jmemsys.c $(J)jmemsys.h $(J)jrdppm.c
JPEGLSS3  = $(J)jpegdata.h $(J)jquant1.c $(J)jrdjfif.c $(J)jrevdct.c $(J)jutils.c $(J)jwrmem.c $(J)jrdtarga.c
JPEGLSO1  = $(J)jdcolor.o $(J)jddeflts.o $(J)jdhuff.o $(J)jdmaster.o $(J)jdmcu.o $(J)jrdgif.o
JPEGLSO2  = $(J)jdpipe.o $(J)jdsample.o $(J)jmemmgr.o $(J)jmemsys.o $(J)jrdppm.o
JPEGLSO3  = $(J)jquant1.o $(J)jrdjfif.o $(J)jrevdct.o $(J)jutils.o $(J)jwrmem.o $(J)jrdtarga.o
JPEGLSO4  = $(J)jdmain.o
JPEGLSO4R = $(J)jdmainr.o
IFF       = parse.o iffpstrings.o Hook.o ilbmr.o unpacker.o loadilbm.o getbitmap.o
IFFS      = ilbmw.o apack.o saveilbm.o
PREFS     = TSMorph-prefs.o Prefs.o
TSMORPH   = TSMorph.o ControlWindow.o Gui.o Boopsi.oo Subroutines.o help.o sprintf.o Args.o LoadBrushes.o Frames.o OpalLoad.o HandleSettings.o RGBToScreen020.o Messages.o
RENDER    = TSMorph-render.o Progress.o sprintf.o Args.o SaveHAMetc.o RenderSub.o
RENDER881 = TSMorph-render881.o Progress.o sprintf.o Args.o SaveHAMetc881.o RenderSub881.o
RENDER040 = TSMorph-render040.o Progress.o sprintf.o Args.o SaveHAMetc040.o RenderSub040.o
DIST      = TSMorph-render.881     TSMorph-render.040     TSMorph     TSMorph-render     TSMorph.guide TSMorph.doc TSMorph-prefs 
DIST1     = Install     Read.Me COPYING Tutorial/Tutorial.readme Tutorial/cat.pic Tutorial/girl.pic
DISTI     = TSMorph-render.881$(I) TSMorph-render.040$(I) TSMorph$(I) TSMorph-render$(I) TSMorph.guide$(I) Install$(I) Read.Me$(I) TSMorph-prefs$(I) TSMorph.doc$(I) HTML$(I) View_HTML$(I)
REXX      = $(R)Prescript.TSM     $(R)Postscript.TSM     $(R)FadeToBlack.TSM     $(R)FadeToWhite.TSM     $(R)PixelWarp.TSM     $(R)PixelMorph.TSM     $(R)PreAll.TSM
REXXI     = $(R)Prescript.TSM$(I) $(R)Postscript.TSM$(I) $(R)FadeToBlack.TSM$(I) $(R)FadeToWhite.TSM$(I) $(R)PixelWarp.TSM$(I) $(R)PixelMorph.TSM$(I) $(R)PreAll.TSM$(I)
REXX1     = $(R)ToHam.TSM     $(R)LoadScript.TSM     $(R)Preview.TSM     $(R)PreAnim.TSM     $(R)PostAnim.TSM
REXXI1    = $(R)ToHam.TSM$(I) $(R)LoadScript.TSM$(I) $(R)Preview.TSM$(I) $(R)PreAnim.TSM$(I) $(R)PostAnim.TSM$(I) Rexx$(I)
DIST2I    = $(E)def_points$(I) $(E)def_ilbm$(I) $(E)def_iff$(I) $(E)def_jpg$(I) $(E)def_prefs$(I) $(E)def_ppm$(I)
DIST2I1   = ENV$(I) ENV/TSMorph$(I) brush$(I) cursor$(I) Tutorial$(I) Tutorial/Tutorial.readme$(I)
DIST2I2   = $(E)def_bw16$(I) $(E)def_bw256$(I) $(E)def_ham6$(I) $(E)def_ham8$(I) $(E)def_dctv3$(I) $(E)def_dctv4$(I)
SRC1      = boopsi.oo ControlWindow.c getbitmap.c gui.c gui.h help.c Hook.asm iffpstrings.c ilbmr.c ilbmw.c lmkfile smakefile
SRCBRUSH  = $(B)Add.c $(B)Del.c $(B)Link.c $(B)None.c $(B)One.c $(B)Rel.c $(B)Two.c $(B)Unlink.c $(B)1st.c $(B)last.c $(B)goto.c $(B)next.c $(B)prev.c
BRUSHES   = $(B)add.o $(B)del.o $(B)link.o $(B)none.o $(B)one.o $(B)rel.o $(B)two.o $(B)unlink.o $(B)1st.o $(B)last.o $(B)goto.o $(B)next.o $(B)prev.o
BRUSH     = $(B)Add   $(B)Del   $(B)Link   $(B)None   $(B)One   $(B)Rel   $(B)Two   $(B)Unlink   $(B)1st   $(B)last   $(B)goto   $(B)next   $(B)prev
BRUSHI    = $(B)Add$(I) $(B)Del$(I) $(B)Link$(I) $(B)None$(I) $(B)One$(I) $(B)Rel$(I) $(B)Two$(I)
BRUSHI1   = $(B)Unlink$(I) $(B)1st$(I) $(B)last$(I) $(B)goto$(I) $(B)next$(I) $(B)prev$(I)
CURSORS   = $(C)Xadd.o $(C)Xdel.o $(C)Xl1.o $(C)Xl2.o $(C)Xmov.o $(C)Xone.o $(C)Xrel.o $(C)Xtwo.o $(C)Xu1.o $(C)Xu2.o
SRCCURSOR = $(C)XAdd.c $(C)XDel.c $(C)XL1.c $(C)XL2.c $(C)XMov.c $(C)XOne.c $(C)XRel.c $(C)XTwo.c $(C)XU1.c $(C)XU2.c
CURSOR    = $(C)XAdd $(C)XDel $(C)XL1 $(C)XL2 $(C)XMov $(C)XOne $(C)XRel $(C)XTwo $(C)XU1 $(C)XU2
CURSORI1  = $(C)XAdd$(I) $(C)XDel$(I) $(C)XL1$(I) $(C)XL2$(I)
CURSORI2  = $(C)XMov$(I) $(C)XOne$(I) $(C)XRel$(I) $(C)XTwo$(I) $(C)XU1$(I) $(C)XU2$(I)
SRCIFFP   = iffp/compiler.h iffp/debug.h iffp/iff.h iffp/iffpstringids.h iffp/iffpstrings.h iffp/ilbm.h iffp/ilbmapp.h iffp/packer.h
SRC5      = loadilbm.c apack.asm parse.c Progress.c progress.h saveilbm.c Subroutines.c TSMorph-render.c TSMorph.c TSMorph.h
SRC6      = TSMorph.texinfo unpacker.c Install Read.Me sprintf.c Args.c LoadBrushes.c Frames.c OpalLoad.c HandleSettings.c COPYING
SRC7      = RGBToScreen020.c SaveHAMetc.c Prefs.c Prefs.h TSMorph-prefs.c Source.readme Source.readme.info JPEG.README Messages.h TSMorph-Messages
SRC8      = Messages.c GenMsg.c RenderSub.c ag2txt/ag2txt.c Tutorial/Tutorial.texinfo Tutorial/cat.pic Tutorial/girl.pic texinfo2HTML.rexx
GUI       = $(G)TSMorph.gui     $(G)Progress.gui     $(G)AddGrid.gui     $(G)Settings.gui
GUII      = $(G)TSMorph.gui$(I) $(G)Progress.gui$(I) $(G)AddGrid.gui$(I) $(G)Settings.gui$(I)
HTMLIMG   = $(H)AddGrid $(H)Contrl $(H)Image $(H)Info $(H)Prefs $(H)Up

# Default is to generate Source and Object lha
Everything: LHA:TSMorph32s.lha LHA:TSMorph32.lha

# Delete all the built files (except two above) to force a recompile
Delete:
   -delete TSMorph.guide TSMorph.doc TSMorph.ld TSMorph TSMorph-render.ld TSMorph-render
   -delete TSMorph-render.881.ld TSMorph-render.881 TSMorph-prefs.ld TSMorph-prefs
   -delete TSMorph-render.040.ld TSMorph-render.040
   -delete GenMsg.ld GenMsg ag2txt/ag2txt.ld ag2txt/ag2txt
   -delete Messages.o tMessages.h GenMsg.o TSMorph-prefs.o Prefs.o ag2txt/ag2txt.o
   -delete TSMorph-render881.o SaveHAMetc881.o RenderSub881.o TSMorph.p sprintf.o
   -delete TSMorph-render040.o SaveHAMetc040.o RenderSub040.o TSMorph.p sprintf.o
   -delete Args.o ilbmr.o getbitmap.o loadilbm.o parse.o unpacker.o Subroutines.o Hook.o apack.o
   -delete LoadBrushes.o Frames.o ControlWindow.o Gui.o iffpstrings.o TSMorph.o OpalLoad.o
   -delete RGBToScreen020.o HandleSettings.o help.o ilbmw.o saveilbm.o Progress.o
   -delete TSMorph-render.o SaveHAMetc.o RenderSub.o 
   -delete $(C)Xu2.o $(C)Xu1.o $(C)Xtwo.o $(C)Xrel.o $(C)Xone.o $(C)Xmov.o $(C)Xl2.o $(C)Xl1.o $(C)Xdel.o $(C)Xadd.o
   -delete $(B)add.o $(B)del.o $(B)link.o $(B)none.o $(B)one.o $(B)rel.o $(B)two.o $(B)unlink.o $(B)1st.o $(B)last.o $(B)goto.o $(B)prev.o $(B)next.o
   -delete $(J)jdcolor.o $(J)jddeflts.o $(J)jdhuff.o $(J)jdmain.o $(J)jdmaster.o $(J)jdmcu.o $(J)jdpipe.o
   -delete $(J)jdsample.o $(J)jinclude.o $(J)jmemmgr.o $(J)jmemsys.o $(J)jpegdata.o $(J)jquant1.o $(J)jrdjfif.o
   -delete $(J)jrevdct.o $(J)jutils.o $(J)jwrmem.o $(J)jrdgif.o $(J)jrdtarga.o $(J)jrdppm.o $(J)jdmainr.o
   -delete HTML/\#?

# Some of the "object" code
Object: TSMorph TSMorph-render TSMorph-render.881 TSMorph-render.040 TSMorph.guide TSMorph-prefs TSMorph.doc

# Object distribution
LHA:TSMorph32.lha: $(DIST) $(DISTI) $(REXXI) $(DIST2I) $(DIST2I1) $(DIST2I2) $(DIST1) $(REXX) $(REXX1) $(REXXI1) $(CURSOR) $(CURSORI1) $(CURSORI2) \
                   $(BRUSH) $(BRUSHI) $(BRUSHI1) HTML/TSMorph.html $(HTMLIMG) Installer
   -delete LHA:TSMorph32.lha
   lha -F u -x LHA:TSMorph32.lha <@<
   $(DIST)
   $(DISTI)
   $(REXXI)
   $(DIST2I)
   $(DIST2I1)
   $(DIST2I2)
   $(DIST1)
   $(REXX)
   $(REXX1)
   $(REXXI1)
   $(CURSOR)
   $(CURSORI1)
   $(CURSORI2)
   $(BRUSH)
   $(BRUSHI)
   $(BRUSHI1)
   $(HTMLIMG)
   Installer
   <
   lha -F u -x LHA:TSMorph32.lha HTML/\#?

# Object distribution split up
LHA:TSM.lha: TSMorph
   lha -F u -x LHA:TSM.lha TSMorph

LHA:TSM-g.lha: TSMorph.guide TSMorph.doc
   lha -F u -x LHA:TSM-g.lha TSMorph.guide TSMorph.doc

LHA:TSM-r.lha: TSMorph-render
   lha -F u -x LHA:TSM-r.lha TSMorph-render

LHA:TSM-r8.lha: TSMorph-render.881
   lha -F u -x LHA:TSM-r8.lha TSMorph-render.881

LHA:TSM-r4.lha: TSMorph-render.040
   lha -F u -x LHA:TSM-r4.lha TSMorph-render.040

LHA:TSM-etc.lha: $(DIST1) $(REXX) $(REXX1) $(DISTI) $(REXXI) $(DIST2I) $(DIST2I1) $(DIST2I2) $(REXXI1) $(CURSOR) $(CURSORI1) $(CURSORI2) $(BRUSH) $(BRUSHI) $(BRUSHI1)
   lha -F u -x LHA:TSM-etc.lha <@<
   $(DISTI)
   $(REXXI)
   $(DIST2I)
   $(DIST2I1)
   $(DIST2I2)
   $(DIST1)
   $(REXX)
   $(REXX1)
   $(REXXI1)
   $(CURSOR)
   $(CURSORI1)
   $(CURSORI2)
   $(BRUSH)
   $(BRUSHI)
   $(BRUSHI1)
<

# Source distribution - .gz archive of uncompressed .lha
LHA:TSMorph32s.gz: LHA:TSM32s.lha
   gzip >LHA:TSMorph32s.gz -c -9 LHA:TSM32s.lha

# Source distribution - compressed lha archive
LHA:TSMorph32s.lha: LHA:TSM32s.lha
   -delete LHA:TSMorph32s.lha
   lha u -Z LHA:TSMorph32s.lha LHA:TSM32s.lha

# uncompressed archive saves about 12% space when recompressed
LHA:TSM32s.lha: $(SRC1) $(SRCBRUSH) $(SRCCURSOR) $(SRCIFFP) $(SRC5) $(SRC6) $(SRC7) $(SRC8) $(REXX) $(REXX1) $(REXXI) $(DISTI) $(DIST2I) $(DIST2I1) $(DIST2I2) $(REXXI1) $(CURSOR) $(CURSORI1) \
                $(CURSORI2) $(BRUSH) $(BRUSHI) $(BRUSHI1) $(GUI) $(GUII) $(JPEGLSS1) $(JPEGLSS2) $(JPEGLSS3) $(HTMLIMG) Installer
   -delete LHA:TSM32s.lha
   lha -F u -x -z LHA:TSM32s.lha <@<
   $(SRC1)
   $(SRCBRUSH)
   $(SRCCURSOR)
   $(SRCIFFP)
   $(SRC5)
   $(SRC6)
   $(SRC7)
   $(SRC8)
   $(REXX)
   $(REXX1)
   $(REXXI)
   $(DISTI)
   $(DIST2I)
   $(DIST2I1)
   $(DIST2I2)
   $(REXXI1)
   $(CURSOR)
   $(CURSORI1)
   $(CURSORI2)
   $(BRUSH)
   $(BRUSHI)
   $(BRUSHI1)
   $(GUI)
   $(GUII)
   $(JPEGLSS1)
   $(JPEGLSS2)
   $(JPEGLSS3)
   $(HTMLIMG)
   Installer
<

# guide file using MakeInfo
TSMorph.guide: HTML/TSMorph.html
   Makeinfo --amiga-39 -o TSMorph.guide ram:t/TSMorph.texinfo

# asci file using MakeInfo/ag2txt
TSMorph.doc: TSMorph.guide ag2txt/ag2txt
   ag2txt/ag2txt TSMorph.guide TSMorph.doc NODE=BOLD LINK=ITALIC

# Tutorial file using MakeInfo
Tutorial/Tutorial.readme: Tutorial/Tutorial.texinfo
   Makeinfo --amiga-39 --no-headers -o Tutorial/Tutorial.readme Tutorial/Tutorial.texinfo

# HTML files (note ;s because of 0a0d)
HTML/TSMorph.html: TSMorph.texinfo texinfo2html.rexx
   -delete HTML/\#? quiet
   execute < <
   cd HTML;
   rx /texinfo2html /TSMorph.texinfo TSMorph.html ram:t/TSMorph.texinfo;
   cd /;
   <

# TSMorph debug object
TSMorph.ld: $(JPEGLSO1) $(JPEGLSO2) $(JPEGLSO3) $(JPEGLSO4) $(TSMORPH) $(BRUSHES) $(CURSORS) $(IFF)
   slink <WITH <
   FROM lib:c.o $(TSMORPH) $(IFF) $(BRUSHES) $(CURSORS) $(JPEGLSO1) $(JPEGLSO2) $(JPEGLSO3) $(JPEGLSO4)
   LIBRARY lib:scm.lib lib:sc.lib LIB:amiga.lib LIB:reqtools.lib lib:dctv.lib
   TO TSMorph.ld SC SD BATCH
   VERBOSE
   MAXHUNK 32000
   <

# non debug object
TSMorph: TSMorph.ld
   slink TSMorph.ld to TSMorph NODEBUG

# TSMorph-render debug object
TSMorph-render.ld: $(RENDER) $(IFF) $(IFFS) $(JPEGLSO1) $(JPEGLSO2) $(JPEGLSO3) $(JPEGLSO4R)
   slink <WITH <
   FROM lib:c.o $(RENDER) $(IFF) $(IFFS) $(JPEGLSO1) $(JPEGLSO2) $(JPEGLSO3) $(JPEGLSO4R)
   LIBRARY lib:scm.lib lib:sc.lib LIB:amiga.lib LIB:reqtools.lib lib:dctv.lib
   TO TSMorph-render.ld SC SD BATCH
   VERBOSE
   <

# non debug object
TSMorph-render: TSMorph-render.ld
   slink TSMorph-render.ld to TSMorph-render STRIPDEBUG

# TSMorph-render.881 debug object
TSMorph-render.881.ld: $(RENDER881) $(IFF) $(IFFS) $(JPEGLSO1) $(JPEGLSO2) $(JPEGLSO3) $(JPEGLSO4R)
   slink <WITH <
   FROM lib:c.o $(RENDER881) $(IFF) $(IFFS) $(JPEGLSO1) $(JPEGLSO2) $(JPEGLSO3) $(JPEGLSO4R)
   LIBRARY lib:scm881.lib lib:sc.lib LIB:amiga.lib LIB:reqtools.lib lib:dctv.lib
   TO TSMorph-render.881.ld SC SD BATCH
   VERBOSE
   <

# non debug object
TSMorph-render.881: TSMorph-render.881.ld
   slink TSMorph-render.881.ld to TSMorph-render.881 STRIPDEBUG

# TSMorph-render.040 debug object
TSMorph-render.040.ld: $(RENDER040) $(IFF) $(IFFS) $(JPEGLSO1) $(JPEGLSO2) $(JPEGLSO3) $(JPEGLSO4R)
   slink <WITH <
   FROM lib:c.o $(RENDER040) $(IFF) $(IFFS) $(JPEGLSO1) $(JPEGLSO2) $(JPEGLSO3) $(JPEGLSO4R)
   LIBRARY lib:scm881.lib lib:sc.lib LIB:amiga.lib LIB:reqtools.lib lib:dctv.lib
   TO TSMorph-render.040.ld SC SD BATCH
   VERBOSE
   <

# non debug object
TSMorph-render.040: TSMorph-render.040.ld
   slink TSMorph-render.040.ld to TSMorph-render.040 STRIPDEBUG

# TSMorph-prefs debug object
TSMorph-prefs.ld: $(PREFS)
   slink <WITH <
   FROM lib:c.o $(PREFS)
   LIBRARY lib:sc.lib LIB:amiga.lib
   TO TSMorph-prefs.ld SC SD BATCH
   VERBOSE
   <

# non debug object
TSMorph-prefs: TSMorph-prefs.ld
   slink TSMorph-prefs.ld to TSMorph-prefs STRIPDEBUG

# GenMsg debug object
GenMsg.ld: GenMsg.o
   slink <WITH <
   FROM lib:c.o GenMsg.o
   LIBRARY lib:sc.lib LIB:amiga.lib
   TO GenMsg.ld SC SD BATCH
   VERBOSE
   <

# non debug object
GenMsg: GenMsg.ld
   slink GenMsg.ld to GenMsg STRIPDEBUG

# ag2txt debug object
ag2txt/ag2txt.ld: ag2txt/ag2txt.o
   slink <WITH <
   FROM lib:c.o ag2txt/ag2txt.o
   LIBRARY lib:sc.lib LIB:amiga.lib
   TO ag2txt/ag2txt.ld SC SD BATCH
   VERBOSE
   <

# non debug object
ag2txt/ag2txt: ag2txt/ag2txt.ld
   slink ag2txt/ag2txt.ld to ag2txt/ag2txt STRIPDEBUG

# C object dependencies
# sometimes Setdate is used to update source code
# where the header has changed.

# Stuff for the strings
# This should use locale.library later

Messages.o: Messages.c TSMorph.p tMessages.h

tMessages.h: TSMorph-messages GenMsg Messages.h
   GenMsg

GenMsg.o: GenMsg.c Messages.h

TSMorph-prefs.o: TSMorph-prefs.c Prefs.h

Prefs.o: Prefs.c Prefs.h

# Hack .guide to .doc
ag2txt/ag2txt.o: ag2txt/ag2txt.c

# Generate .881 object by copying source, compiling and
# then deleting
TSMorph-render881.o: TSMorph-render.c
   Copy TSMorph-render.c TSMorph-render881.c
   sc $(CCFLAGS881) TSMorph-render881.c
   delete TSMorph-render881.c

SaveHAMetc881.o: SaveHAMetc.c
   Copy SaveHAMetc.c SaveHAMetc881.c
   sc $(CCFLAGS881) SaveHAMetc881.c
   delete SaveHAMetc881.c

RenderSub881.o: RenderSub.c
   Copy RenderSub.c RenderSub881.c
   sc $(CCFLAGS881) RenderSub881.c
   delete RenderSub881.c

# Generate .040 object by copying source, compiling and
# then deleting
TSMorph-render040.o: TSMorph-render.c
   Copy TSMorph-render.c TSMorph-render040.c
   sc $(CCFLAGS040) TSMorph-render040.c
   delete TSMorph-render040.c

SaveHAMetc040.o: SaveHAMetc.c
   Copy SaveHAMetc.c SaveHAMetc040.c
   sc $(CCFLAGS040) SaveHAMetc040.c
   delete SaveHAMetc040.c

RenderSub040.o: RenderSub.c
   Copy RenderSub.c RenderSub040.c
   sc $(CCFLAGS040) RenderSub040.c
   delete RenderSub040.c

# precompiled headers
TSMorph.p: TSMorph.h iffp/ILBMapp.h gui.h Messages.h
   copy TSMorph.h x.c
   sc NOOBJNAME MAKEGST=TSMorph.p x.c
   delete x.c

TSMorph-render.c: iffp/ilbmapp.h progress.h JPEG_LS/jinclude.h
   setdate TSMorph-render.c

SaveHAMetc.c: iffp/ilbmapp.h
   setdate SaveHAMetc.c

iffp/iff.h: iffp/compiler.h iffp/debug.h iffp/iffpstringids.h
   setdate iffp/iff.h

iffp/ilbm.h: iffp/iff.h
   setdate iffp/ilbm.h

iffp/ilbmapp.h: iffp/ilbm.h
   setdate iffp/ilbmapp.h

sprintf.o: sprintf.c

Args.o: Args.c

ilbmr.o: ilbmr.c iffp/ilbm.h iffp/packer.h iffp/ilbmapp.h

getbitmap.o: getbitmap.c iffp/ilbm.h iffp/packer.h iffp/ilbmapp.h

loadilbm.o: loadilbm.c iffp/ilbm.h iffp/ilbmapp.h

parse.o: parse.c iffp/iff.h

apack.o: apack.asm
	asm -iAINCLUDE: apack.asm

Hook.o: Hook.asm
	asm -iAINCLUDE: Hook.asm

unpacker.o: unpacker.c iffp/ilbm.h iffp/packer.h

Subroutines.o: Subroutines.c TSMorph.p
   sc $(CCFLAGS) GST=TSMorph.p $*.c

LoadBrushes.o: LoadBrushes.c TSMorph.p
   sc $(CCFLAGS) GST=TSMorph.p $*.c

Frames.o: Frames.c TSMorph.p
   sc $(CCFLAGS) GST=TSMorph.p $*.c

ControlWindow.o: ControlWindow.c TSMorph.p
   sc $(CCFLAGS) GST=TSMorph.p $*.c

Gui.o: Gui.c TSMorph.p Gui.h
   sc $(CCFLAGS) GST=TSMorph.p $*.c

iffpstrings.o: iffpstrings.c iffp/iffpstrings.h iffp/iff.h

TSMorph.o: TSMorph.c TSMorph.p
   sc $(CCFLAGS) GST=TSMorph.p $*.c

OpalLoad.o: OpalLoad.c TSMorph.p $(J)jinclude.h $(J)jconfig.h $(J)jpegdata.h
   sc $(CCFLAGS) GST=TSMorph.p $*.c

# 020+ version, no 881 required
RGBToScreen020.o: RGBToScreen020.c TSMorph.p
   sc $(CCFLAGS) CPU=68020 GST=TSMorph.p $*.c

HandleSettings.o: HandleSettings.c TSMorph.p
   sc $(CCFLAGS) GST=TSMorph.p $*.c

help.o: help.c

ilbmw.o: ilbmw.c iffp/ilbm.h iffp/packer.h

saveilbm.o: saveilbm.c iffp/ilbm.h iffp/ilbmapp.h

Progress.o: Progress.c Progress.h

TSMorph-render.o: TSMorph-render.c

SaveHAMetc.o: SaveHAMetc.c

RenderSub.o: RenderSub.c

# brushes
$(C)Xu2.o: $(C)Xu2.c

$(C)Xu1.o: $(C)Xu1.c

$(C)Xtwo.o: $(C)Xtwo.c

$(C)Xrel.o: $(C)Xrel.c

$(C)Xone.o: $(C)Xone.c

$(C)Xmov.o: $(C)Xmov.c

$(C)Xl2.o: $(C)Xl2.c

$(C)Xl1.o: $(C)Xl1.c

$(C)Xdel.o: $(C)Xdel.c 

$(C)Xadd.o: $(C)Xadd.c

# pointer
$(B)add.o: $(B)add.c

$(B)del.o: $(B)del.c

$(B)link.o: $(B)link.c

$(B)none.o: $(B)none.c

$(B)one.o: $(B)one.c

$(B)rel.o: $(B)rel.c

$(B)two.o: $(B)two.c

$(B)unlink.o: $(B)unlink.c

$(B)1st.o: $(B)1st.c

$(B)last.o: $(B)last.c

$(B)goto.o: $(B)goto.c

$(B)prev.o: $(B)prev.c

$(B)next.o: $(B)next.c

# JPEG stuff
$(J)jdcolor.o: $(J)jdcolor.c $(J)jinclude.h $(J)jconfig.h $(J)jpegdata.h

$(J)jddeflts.o: $(J)jddeflts.c $(J)jinclude.h $(J)jconfig.h $(J)jpegdata.h

$(J)jdhuff.o: $(J)jdhuff.c $(J)jinclude.h $(J)jconfig.h $(J)jpegdata.h

$(J)jdmain.o: $(J)jdmain.c $(J)jinclude.h $(J)jconfig.h $(J)jpegdata.h TSMorph.p
   sc $(CCFLAGS) GST=TSMorph.p $*.c

$(J)jdmaster.o: $(J)jdmaster.c $(J)jinclude.h $(J)jconfig.h $(J)jpegdata.h

$(J)jdmcu.o: $(J)jdmcu.c $(J)jinclude.h $(J)jconfig.h $(J)jpegdata.h

$(J)jdpipe.o: $(J)jdpipe.c $(J)jinclude.h $(J)jconfig.h $(J)jpegdata.h

$(J)jdsample.o: $(J)jdsample.c $(J)jinclude.h $(J)jconfig.h $(J)jpegdata.h

$(J)jinclude.o: $(J)jinclude.c $(J)jinclude.h $(J)jconfig.h $(J)jpegdata.h

$(J)jmemmgr.o: $(J)jmemmgr.c $(J)jmemsys.h $(J)jinclude.h $(J)jconfig.h $(J)jpegdata.h

$(J)jmemsys.o: $(J)jmemsys.c $(J)jmemsys.h $(J)jinclude.h $(J)jconfig.h $(J)jpegdata.h

$(J)jpegdata.o: $(J)jpegdata.c $(J)jinclude.h $(J)jconfig.h $(J)jpegdata.h

$(J)jquant1.o: $(J)jquant1.c $(J)jinclude.h $(J)jconfig.h $(J)jpegdata.h

$(J)jrdjfif.o: $(J)jrdjfif.c $(J)jinclude.h $(J)jconfig.h $(J)jpegdata.h

$(J)jrevdct.o: $(J)jrevdct.c $(J)jinclude.h $(J)jconfig.h $(J)jpegdata.h

$(J)jutils.o: $(J)jutils.c $(J)jinclude.h $(J)jconfig.h $(J)jpegdata.h

$(J)jwrmem.o: $(J)jwrmem.c $(J)jinclude.h $(J)jconfig.h $(J)jpegdata.h

$(J)jrdgif.o: $(J)jrdgif.c $(J)jinclude.h $(J)jconfig.h $(J)jpegdata.h

$(J)jrdtarga.o: $(J)jrdtarga.c $(J)jinclude.h $(J)jconfig.h $(J)jpegdata.h

$(J)jrdppm.o: $(J)jrdppm.c $(J)jinclude.h $(J)jconfig.h $(J)jpegdata.h

# Render version of jdmain
# #defines RENDER for no progress stuff etc.
$(J)jdmainr.o: $(J)jdmain.c $(J)jinclude.h $(J)jconfig.h $(J)jpegdata.h
   Copy $(J)jdmain.c $(J)jdmainr.c
   sc $(CCFLAGS) DEFINE=RENDER $(J)jdmainr.c
   delete $(J)jdmainr.c
