###############################################################################
#
#	SMakefile
#
#	Makefile for the `SMake' utility required to build `term'
#
#	Copyright © 1990-1996 by Olaf `Olsen' Barthel
#		All Rights Reserved
#
#	:ts=8
#
###############################################################################

.c.o:
	sc $< $(CFLAGS) $(GST) $(OPTIMIZE)

.c.oo:
	sc $< $(CFLAGS) $(GST) $(OPTIMIZE) objname=$>.oo

.a.o:
	asm -u -d $<

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

VERSION		= 4

#CPU		= ANY
CPU		= 68030

OPTIMIZE	= optimize

INCLUDEFLAGS	= define=INCLUDEALL
INCLUDEFILES	= Global.h Protos.h Data.h Errors.h

#C_UTILITY	= utillib
#L_UTILITY	= define __CXM33=__UCXM33 define __CXD33=__UCXD33 \
#		  define __CXM22=__UCXM22 define __CXD22=__UCXD22

DEBUG		= debug=line

GST		= gstimm gst=term.gst

CFLAGS		= mccons streq strmerge nostkchk idlen=65 nover nooptinlocal \
		  ignore=306 cpu=$(CPU) define=CPU_$(CPU) params=r \
		  nover error=100+154+7+161 opttime $(C_UTILITY) $(DEBUG)

LIBS		= lib:amiga.lib lib:sc.lib

OBJS		= VersionTag.o About.o Accountant.o AmigaGuide.o \
		  ARexx.oo ARexxAttributes.oo ARexxCommands.o \
		  ASCIIPanel.o ASCIITransfer.oo Beep.o \
		  Boxes.o Buffer.oo Call.o \
		  Capture.oo CapturePanel.o CaptureParser.oo \
		  Chat.o Clip.oo ClipPanel.o \
		  Colour.oo CommandPanel.o Config.o \
		  Console.oo CopyPanel.o \
		  Crypt.oo CursorPanel.o CustomRequest.oo \
		  Data.o DatePanel.o DayPanel.o \
		  Dial.o Emulation.oo EmulationPanel.o \
		  EmulationProcess.oo FastMacroPanel.o FastMacros.o \
		  FastMacroWindow.o FileBuffer.oo FixPath.o \
		  HotkeyPanel.o Hotkeys.o Identify.o \
		  ImportPanel.o InfoWindow.o Init.o \
		  LibPanel.o LibPanelPlus.o Lists.oo \
		  Locale.o MacroPanel.o Main.o \
		  Marker.o Matrix.o Memory.oo \
		  MemStubs.o MiscPanel.o ModemPanel.o \
		  MsgQueue.oo OldConfig.o Packet.o \
		  PathPanel.o PatternPanel.o Phone.o \
		  PhonePanel.o PhonePanelPlus.o PhonePanelUI.o \
		  PickDisplayMode.o PickFile.o PickScreen.o \
		  Print.o PrintPanel.o QuickSort.o \
		  Raster.oo RatePanel.o Remember.oo \
		  Response.oo SaveWindow.o Scale.oo \
		  ScreenPanel.o Scroll.oo SendText.oo \
		  Serial.oo SerialIO.oo SerialPanel.o \
		  Sound.oo SoundPanel.o Speech.o \
		  SpeechPanel.o StackCall.o Start.o \
		  StatusDisplay.o Strings.o TerminalPanel.o \
		  TextBuffer.oo TimeDate.o TimePanel.o \
		  Tools.o Transfer.o TransferPanel.o \
		  Translate.oo TranslationPanel.o TrapPanel.o \
		  Traps.o UploadPanel.o UploadQueue.o \
		  Verify.o XEM.oo XPR.oo

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

all:		term.gst term

VersionTag.o:	VersionTag.a term_rev.i
		asm -d -u -dCPU_$(CPU) -dCPU='$(CPU)' VersionTag.a

term:		$(OBJS)
		slink <with <
			from
			$(OBJS)
			to
			$@.debug
			lib
			$(LIBS)
			sc sd noicons addsym maxhunk 100000
			$(L_UTILITY)
		<
		slink $@.debug to $@ nd noicons

term.gst:	PreInclude.c PreInclude.h Strings.h OwnDevUnit.h xproto.h xem.h \
		Rendezvous.h gtlayout.h $(INCLUDEFILES)
		gst unload $@
		sc noobjname $(CFLAGS) $(INCLUDEFLAGS) makegst=$@ PreInclude.c
		gst $@

Strings.o:	Strings.c Strings.h
		sc $(CFLAGS) Strings.c

Start.o:	Start.c
		sc $(CFLAGS) opttime Start.c

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

clean:
		-delete \#?.o\#o term.gst
