# Project:   pscp

TARGET = pscp
RELEASE = 049b07
# change these to Mem:$. and Sprite to build on Memphis (RO3)
# or RAM:$. and RAMFS for RO4 (long filenames)
SCRATCH = RAM:$.
SCRATCHAREA = RAMFS

# Toolflags:
DEFINES = -DRISCOS=0.49007

gCCflags = -mamu -mthrowback -Ibn -isystem @ -c -Wall
gCCflagsstubs = -mamu -mthrowback -INetLib:include. -mstubs -c -Wall -mpoke-function-name
ccflags = -throwback -jUnix: -Ibn -c -wd
Linkflags = -o $@
ObjAsmflags = -depend !Depend -ThrowBack -Stamp -quit -CloseExec
CMHGflags = 
LibFileflags = -c -o $@
Squeezeflags = -o $@
AAsmflags = -depend !Depend -quit -CloseExec -To $@ -From
Drlinkflags =
# -aif -nounused -debimage -rescan
ASflags = -throwback -dde SDLS:o.astubs Netlib:libs.o.inetlib Netlib:libs.o.socklib

OBJS = @.o.BE_NONE @.o.WINDLG @.o.SCPSSH @.o.SCP @.o.VERSION @.o.MISC \
        @.o.SSHMD5 @.o.SSHDES @.o.SSHRSA @.o.SSHCRC @.o.SSHBLOWF  \
        @.o.NOISE @.o.win32fake @.o.winsock @.o.sshrand sshsha.o hostfile.o hostkey.o match.o

# Final targets:
all:	$(TARGET)

$(TARGET): $(OBJS) bn.bn.o
	gcc -o $(TARGET)2 $(drlinkflags) $(OBJS) bn.bn.o 
	squeeze -f $(TARGET)2 $(TARGET)
	delete $(TARGET)2
#	gcc -o $(TARGET)2 $(OBJS) bn.bn.o

bn.bn.o:
	dir bn
	amu -f Makebn DEFINES="$(DEFINES)"
	up

release:	releasebin releasesrc

releasebin:	#$(TARGET)
		changedynamicarea -$(SCRATCHAREA)Size 2048K
		copy release.!pscp $(SCRATCH)!pscp ~c~vfr
		copy release.!System $(SCRATCH)!System ~c~vfr
		copy $(TARGET) $(SCRATCH)!pscp.pscp ~c~vfr
		copy ^.random.!normal.cryptrand $(SCRATCH)!pscp.CryptRand ~c~vfr
		copy release.docs $(SCRATCH)docs ~c~vfr
		x delete release.$(RELEASE)-bin
		zip -rv9 release.pscp-bin-$(RELEASE)/zip $(SCRATCH)!pscp $(SCRATCH)docs $(SCRATCH)!System

releasesrc:	
		changedynamicarea -$(SCRATCHAREA)Size 2048K
		cdir $(SCRATCH)pscp$(RELEASE)
		cdir $(SCRATCH)pscp$(RELEASE).o
		copy release.docs $(SCRATCH)pscp$(RELEASE).docs ~c~vfr
		copy bn $(SCRATCH)pscp$(RELEASE).bn ~c~vfr
		copy c $(SCRATCH)pscp$(RELEASE).c ~c~vfr
		copy h $(SCRATCH)pscp$(RELEASE).h ~c~vfr
		copy Makefile $(SCRATCH)pscp$(RELEASE).Makefile ~c~vfr
		wipe $(SCRATCH)pscp$(RELEASE).bn.o.* ~c~vfr
		x delete release.$(RELEASE)-src
		zip -rv9 release.pscp-src-$(RELEASE)/zip $(SCRATCH)pscp$(RELEASE)

sshblowf.o:	sshblowf.c
		gcc $(gCCflags) $(gDEFINES) sshblowf.c -o $@

.SUFFIXES:	.o .s .c .c++ .cmhg
.c.o:
		cdir o
		gcc $(gCCflags) $(DEFINES) $< -o $@

# Dynamic dependencies:
o.VERSION:	c.VERSION

