#
#  Makefile from Q&A Booklet Demo Programs

PROCESSOR = 386 # for the 32-bit compilers

# name the compiler
CC = wcc$(PROCESSOR)
MODEL = f	# flat

# options to use
#CFLAGS = -m$(MODEL) -zq -w3 -za -v  # quiet/ warn/ no extensions/ .def file

CFLAGS = -m$(MODEL) -zq -w3 -za
LNKOPT = op q

.EXTENSIONS:
.EXTENSIONS: .exe .obj .c

.BEFORE
	@set INCLUDE=.;$(%watcom)\h
	@set DOS4G=QUIET

!ifeq PROCESSOR 386
exes = &
	nal_calc &
	complex  &
	rlevel   &
	swapbyte &
	widefilt &
	f_align  &
	recruit  &
	fir_corr
!endif

#--------------------------------------------------------------

# explicit rules

all :	$(exes) .symbolic
	@%null

#--------------------------------------------------------------

nal_calc : nal_calc.obj .symbolic
	wlink $(LNKOPT) n nal_calc f nal_calc

swapbyte : swapbyte.obj .symbolic
	wlink $(LNKOPT) n swapbyte f swapbyte

complex : complex.obj .symbolic
	wlink $(LNKOPT) op st=400k n complex f complex

rlevel : rlevel.obj .symbolic
	wlink $(LNKOPT) op st=50k n rlevel f rlevel

fir_corr : fir_corr.obj .symbolic
	wlink $(LNKOPT) op st=20k n fir_corr f fir_corr

#--------------------------------------------------------------

f_align :   f_align.obj rwbiquad.obj recwide4.h  proto.h .symbolic
	wlink $(LNKOPT) n f_align f f_align,rwbiquad

FILTOBJ = filtbank.obj initial4.obj filtunix.obj formulae.obj rwbiquad.obj rwfiles.obj cmplxmth.obj

widefilt : $(FILTOBJ) .symbolic
	wlink $(LNKOPT) n widefilt f filtbank,initial4,filtunix,formulae,rwbiquad,rwfiles,cmplxmth

f_align.obj  : recwide4.h proto.h
filtbank.obj : recwide4.h proto.h
initial4.obj : recwide4.h proto.h
filtunix.obj : recwide4.h proto.h
formulae.obj : recwide4.h proto.h
rwbiquad.obj : recwide4.h proto.h
rwfiles.obj  : recwide4.h proto.h
cmplxmth.obj : recwide4.h proto.h

#--------------------------------------------------------------

RECOBJ = recruit.obj args_in.obj int2real.obj cifft.obj hilbert.obj outbits.obj nrutil.obj getopt.obj

recruit : $(RECOBJ) .symbolic
	wlink $(LNKOPT) op st=400k n recruit f recruit,args_in,int2real,cifft,hilbert,outbits,nrutil,getopt

recruit.obj  : crecruit.h nrutil.h
args_in.obj  : crecruit.h nrutil.h
int2real.obj : crecruit.h nrutil.h
cifft.obj    : crecruit.h nrutil.h
hilbert.obj  : crecruit.h nrutil.h
outbits.obj  : crecruit.h nrutil.h

clean : .SYMBOLIC
	del *.obj
	del *.wbj
	del *.rex
	del *.exe
	del *.exp

# implicit rules

.c.obj :
	$(CC) $^& $(CFLAGS)

