shithub: sox

ref: 01dddda9b91c640637d95d3ac0d0c01abc437648
dir: /Makefile.dos/

View raw version
# Sound Tools Makefile - builds libst.lib and sox.exe
#
#   Short and Sweat makefile - cbagwell@sprynet.com 9/28/98
#   With a little editing this makefile should compile under both
#   pre and post Borland 3.0.
#
#   Also some support for MS VC based on info from Mark Morgan Lloyd
#   <markMLl.in@telemetry.co.uk> 1/24/99

# Need object files to know what libst.lib depends on.  All .c files
# are compiled from default rules of make.

FOBJ	= 8svx.obj adpcm.obj aiff.obj alsa.obj au.obj auto.obj avr.obj cdr.obj \
	  cvsd.obj dat.obj g721.obj g723_24.obj g723_40.obj g72x.obj gsm.obj \
	  hcom.obj ima_rw.obj maud.obj nul.obj oss.obj raw.obj sf.obj smp.obj \
	  sndrtool.obj sphere.obj sunaudio.obj tx16w.obj voc.obj \
	  wav.obj wve.obj

EOBJ	= avg.obj band.obj bandpass.obj breject.obj btrworth.obj chorus.obj \
	  compand.obj copy.obj cut.obj dcshift.obj deemphas.obj earwax.o \
	  echo.obj echos.obj fade.obj filter.obj flanger.obj highp.obj \
	  highpass.obj lowp.obj lowpass.obj map.obj mask.obj phaser.obj \
	  pick.obj pitch.obj pan.obj polyphase.obj rate.obj resample.obj \
	  reverb.obj reverse.obj silence.obj speed.obj split.obj stat.obj \
	  stretch.obj swap.obj synth.obj trim.obj vibro.obj vol.obj

LIBOBJS   = $(FOBJ) $(EOBJ) handlers.obj libst.obj misc.obj getopt.obj util.obj


# The following defines tell where compiler files are kept, not where
# things should be installed like Unix usually specifies.  If your using
# Microsoft Compilers then you don't need these.
BINDIR  = c:\tc
LIBDIR  = c:\tc\lib
INCDIR  = c:\tc\include

#BINDIR	= d:\bc\bin
#LIBDIR	= d:\bc\lib
#INCDIR	= d:\bc\include

# Standard Borland options for Huge Memory Mode (more than 64k for both
# code and data), Word aligned, compile to Objects only, Speed and Jump
# optimized.
# -v is for debuging and -N is to add stack corruption detection code.
# both add unneeded size to code.
#
# Pick one of the next two defines for pre/post Borland C 3.0
CC      = $(BINDIR)\tcc
#CC      = $(BINDIR)\bcc
LDD	= $(BINDIR)\tlib
CFLAGS  = -DDOS -DHAVE_MEMMOVE -D__STDC__=1 -a -c -mh -G -O -v -N
LFLAGS  = -v -mh

.c.obj:
	$(CC) $(CFLAGS) -I$(INCDIR) -L$(LIBDIR) $*.c
	$(LDD) libst -$* +$*

# MS VC needs the following. /AL uses large memory model.
#CC	= cl
#LDD	= lib
#CFLAGS	= -DDOS -DHAVE_MEMMOVE -D__STDC__=1 -c -O /AL /Gt8192
#LFLAGS	= /AL /Gt8192

# When using MS VC, comment out above rule for .c.obj and use this as well
#.c.obj:
#       $(CC) $(CFLAGS) $*.c
#       $(LDD) libst -+$*,,

all: sox.exe mix.exe

sox.exe: sox.obj libst.lib
        $(CC) $(LFLAGS) -L$(LIBDIR) sox.obj libst.lib

mix.exe: mix.obj libst.lib
        $(CC) $(LFLAGS) -L$(LIBDIR) mix.obj libst.lib

libst.lib: $(LIBOBJS)

sox.obj: sox.c st.h
        $(CC) $(CFLAGS) -I$(INCDIR) -L$(LIBDIR) $*.c

mix.obj: mix.c st.h
        $(CC) $(CFLAGS) -I$(INCDIR) -L$(LIBDIR) $*.c

clean:
        del *.obj
        del sox.exe
        del libst.lib