
# Sound Tools Makefile for AMIGA
# 	builds libst.a and sox

FSRC= ami.c raw.c voc.c au.c sf.c aiff.c hcom.c 8svx.c sndrtool.c wav.c
ESRC= copy.c avg.c pred.c stat.c vibro.c echo.c rate.c band.c lowp.c 
PSRC= sox.c

SOURCES   = $(PSRC) $(FSRC) $(ESRC) handlers.c libst.c misc.c getopt.c

HEADERS   = st.h libst.h sfheader.h patchlevel.h 

TESTS     = 

MISC      = README TODO sox.man st.man Makefile README.amiga sox.man.ascii st.man.ascii Makefile.amiga

SKEL	  = skel.c skeleff.c

# no support for skel yet (what's it for,anyway?)
FILES     = $(MISC) $(HEADERS) $(SOURCES) $(TESTS) $(SKEL)

FOBJ= ami.o raw.o voc.o au.o sf.o aiff.o hcom.o 8svx.o sndrtool.o wav.o
EOBJ= copy.o avg.o pred.o stat.o vibro.o echo.o rate.o band.o lowp.o 

SOUNDLIB  = libst.lib
LIBOBJS   = $(FOBJ) $(EOBJ) handlers.o libst.o misc.o getopt.o

## Amiga vars for SAS 5.10+.
## Lots of funky stuff here.  Unnecessary, but keeps it neat.
## Also matches unix makefile more closely, toward the day when
## we can use the same one.

## your compiler should -DAMIGA itself, but just in case...
CC	= lc -DAMIGA
O	= -g
AR	= oml
AR_ARGS	= a
RM	= delete
WILDCARD= *
LHA	= lha
LHAFLAGS= -axY
ARCHIVE	= amisox.lha

## these are to compile with no 881/2 support
MATHLIB	= lib:lcm.lib
CFLAGS	= $O

## these are to compile for a 68881/2 on math funcs
#MATHLIB	= lib:lcm.lib lib:lcm881.lib
#CFLAGS	= $O -f8 -DMC68881

## start your engines
##
all: sox

sox: sox.o $(SOUNDLIB)
        blink lib:c.o sox.o to sox lib $(SOUNDLIB) $(MATHLIB) lib:lc.lib lib:amiga.lib

$(SOUNDLIB): $(LIBOBJS)
#	$(RM) $(SOUNDLIB)       # Amiga make will choke if libst.lib does not
                                # exist, so delete it yourself.
	$(AR) $(SOUNDLIB) $(AR_ARGS) $(LIBOBJS)
#	$(RANLIB) $(SOUNDLIB)   # No ranlib on amiga, none needed.

sox.o:		sox.c st.h

$(LIBOBJS):	st.h

clean:
	$(RM) $(WILDCARD).o

archive:
	$(LHA) $(LHAFLAGS) $(ARCHIVE) $(FILES)
