# Thought this is a smakefile, it will NOT work with smake.
# Use gnu-make "make -fsmakefile" as commandline.
CC=sc
RM=delete
LD=slink
CFLAGS=RESOPT NOSTACKCHECK STRINGMERGE UNSIGNEDCHARS\
  NOCHECKABORT NOICONS MEMSIZE=HUGE DATA=FARONLY\
  PARAM=REGISTERS DEFINE=__NOLIBBASE__\
  OPTIMIZE OPTIMIZERTIME OPTIMIZERLOOP OPTINLOCAL \
  OPTSCHEDULE

LDFLAGS=STRIPDEBUG SMALLDATA SMALLCODE NOICONS LIB LIB:scnb.lib FROM
DEBUGLIBS=LIB lib:amiga.lib lib:debug.lib

FILES =	xad_AmosSampBank.lha xad_ar.lha xad_ASCII.lha xad_bzip.lha \
	xad_bzip2.lha xad_CAB.lha xad_COP.lha xad_DImp.lha xad_HTMLHelp.lha \
	xad_MakeSFX.lha xad_MSA.lha xad_MS-TNEF.lha xad_RPM.lha \
	xad_Wrapster.lha xad_ZAP.lha

EXTRA =	extheader.c Makefile smakefile ConvertE.c SDI_compiler.h vc.config \
	Install.info 

OPT=

all: $(FILES)

%.dbg: extheader.o %.c
	$(CC)  $(CFLAGS) DEF=DEBUG $(OPT) OBJNAME=$@.o $*.c
	$(LD) $(LDFLAGS) extheader.o $@.o $(DEBUGLIBS) TO $@
%.060: extheader.o %.c
	$(CC) $(CFLAGS) CPU=68060 $(OPT) OBJNAME=$@.o $*.c
	$(LD) $(LDFLAGS) extheader.o $@.o TO $@
%.040: extheader.o %.c
	$(CC) $(CFLAGS) CPU=68040 $(OPT) OBJNAME=$@.o $*.c
	$(LD) $(LDFLAGS) extheader.o $@.o TO $@
%.020: extheader.o %.c
	$(CC) $(CFLAGS) CPU=68020 $(OPT) OBJNAME=$@.o $*.c
	$(LD) $(LDFLAGS) extheader.o $@.o TO $@
%.000: extheader.o %.c
	$(CC) $(CFLAGS) CPU=68000 $(OPT) OBJNAME=$@.o $*.c
	$(LD) $(LDFLAGS) extheader.o $@.o TO $@
extheader.o: extheader.c
	$(CC) $(CFLAGS) $<

xad_%.lha: %.000 %.020 %.040 %.060 %.c xad_%.readme $(EXTRA)
	-$(RM) $@
	sed s/BASE/$*/ < Install.src > Install
	lha -q a $@ $^ Install

# exceptions to the rules

# ASCII has many source files
xad_ASCII.lha: ASCII.000 ASCII.020 ASCII.040 ASCII.060 ASCII.c ASCII-BinHex.c \
	ASCII-btoa.c ASCII-MIME.c ASCII-others.c ASCII-utils.c \
	ASCII-uuencode.c xad_ASCII.readme $(EXTRA)

# COP needs the xadXPK.c source
xad_COP.lha: COP.000 COP.020 COP.040 COP.060 COP.c xadXPK.c xad_COP.readme \
	$(EXTRA)

clean:
	$(RM) $(FILES) *.0[0246]0 *.o Install

.PRECIOUS: %.000 %.020 %.040 %.060

# exceptions - OPTSCHEDULE does not work with bzip2!
bzip2.060: extheader.o bzip2.c
	$(CC) $(CFLAGS) CPU=68060 $(OPT) OBJNAME=$@.o bzip2.c NOOPTSCHEDULE
	$(LD) $(LDFLAGS) extheader.o $@.o TO $@
bzip2.040: extheader.o bzip2.c
	$(CC) $(CFLAGS) CPU=68040 $(OPT) OBJNAME=$@.o bzip2.c NOOPTSCHEDULE
	$(LD) $(LDFLAGS) extheader.o $@.o TO $@
bzip2.020: extheader.o bzip2.c
	$(CC) $(CFLAGS) CPU=68020 $(OPT) OBJNAME=$@.o bzip2.c NOOPTSCHEDULE
	$(LD) $(LDFLAGS) extheader.o $@.o TO $@
bzip2.000: extheader.o bzip2.c
	$(CC) $(CFLAGS) CPU=68000 $(OPT) OBJNAME=$@.o bzip2.c NOOPTSCHEDULE
	$(LD) $(LDFLAGS) extheader.o $@.o TO $@

