#
# Makefile for jj's siggen  .....

SHELL		= /bin/sh

# Edit PROGS to make the programs you want. You may wish to omit smix
#  if you do not want yet another mixer program.
PROGS		= tones sgen swgen siggen sweepgen soundinfo smix

#
TEXTS		= tones.txt sgen.txt swgen.txt siggen.txt sweepgen.txt soundinfo.txt smix.txt

#
# simple command line programs......
TONES		= tones.o tonesgen.o generator.o misc.o file.o DAC.o
SGEN		= sgen.o generator.o misc.o file.o DAC.o
SWGEN		= swgen.o generator.o misc.o file.o DAC.o
#
# curses based programs......
SIGGEN		= siggen.o sigscr.o generator.o misc.o DAC.o scfio.o
SWEEPGEN	= sweepgen.o sweepscr.o generator.o misc.o DAC.o scfio.o
#
srcdir		= .
includedir	= /usr/include/ncurses
INSDIR		= /usr/local/bin
MANDIR		= /usr/local/man/man1
LOCALINS	= $(HOME)/bin
LOCALMAN	= $(HOME)/man/man1

CC		= gcc
CFLAGS		=  -O2  
CPPFLAGS	= -I. -I$(includedir)

CCFLAGS		= $(CFLAGS) $(CPPFLAGS)

LINK		= $(CC)
LDFLAGS		= -lncurses -lgpm -lm

.c.o:
	$(CC) -c $(CCFLAGS) $<

all:	$(PROGS) $(TEXTS) 

text:	$(TEXTS)

%.txt:	%.1
	nroff -man $< | col -b -x > $@

scfio.o:	scfio.c scfio.h

sigscr.o:	sigscr.c scfio.h

sigscr-1.o:	sigscr-1.c scfio.h

sweepscr.o:	sweepscr.c scfio.h

install:
	@echo "2 install options :-"
	@echo "    make sysinstall"
	@echo "         into $(INSDIR) and $(MANDIR)"
	@echo "    make localinstall"
	@echo "         into $(LOCALINS) and $(LOCALMAN)"

localinstall: $(PROGS)
	@strip $(PROGS)
	@chmod 755 $(PROGS)
	@echo "Copying $(PROGS) to $(LOCALINS)"
	@cp -p $(PROGS) $(LOCALINS)
	@for n in $(PROGS) ; do \
	chmod 644 $$n.1 ; \
	echo "Copying $$n.1 to $(LOCALMAN)/$$n.1" ; \
	cp -p $$n.1 $(LOCALMAN)/$$n.1 ; \
	done

sysinstall: $(PROGS)
	@strip $(PROGS)
	@chmod 755 $(PROGS)
	@echo "Copying $(PROGS) to $(INSDIR)"
	@cp -p $(PROGS) $(INSDIR)
	@for n in $(PROGS) ; do \
	chmod 644 $$n.1 ; \
	echo "Copying $$n.1 to $(MANDIR)/$$n.1" ; \
	cp -p $$n.1 $(MANDIR)/$$n.1 ; \
	done

vu:	$(VU)
	$(CC)  $(VU) -o $@

soundinfo:	soundinfo.o
	$(CC)  $@.o -o $@

sgen:	$(SGEN)
	$(CC)  $(SGEN) -lm -o $@

swgen:	$(SWGEN)
	$(CC)  $(SWGEN) -lm -o $@

tones:	$(TONES)
	$(CC)  $(TONES) -lm -o $@

siggen:	$(SIGGEN)
	$(CC) $(SIGGEN) $(LDFLAGS) -o $@

siggen-1: $(SIGGEN1)
	$(CC) -DVERSION1 $(SIGGEN1) $(LDFLAGS) -o $@

sweepgen: $(SWEEPGEN)
	$(CC) $(SWEEPGEN) $(LDFLAGS) -o $@

smix:	smix.o
	$(CC) $@.o $(LDFLAGS) -o $@

clean:
	rm -rf *.o $(PROGS) $(TEXTS) *~ 

