#
PROG = GraphPaper

SCRATCH = rad:

# OPT = -sa -sb -sf -sm -sn -sp -su
OPT = -bd
# -bd is stack depth checking


# CF3 = -wa -wd -wp
CF3 =

CF2 = -bs $(OPT) $(CF3) -wr -wu -pu     -qf

CFLAGS = $(CF2) -hi $(SCRATCH)lib-include.b

# AFLAGS = -a

HDRS = graph.h lib-include.h

DEFS = main.g pw.g printer.g rastport.g draw.g messages.g events.g \
       buttons.g sliders.g gads.g files.g

SRCS = main.c printer.c rastport.c draw.c messages.c events.c \
       buttons.c sliders.c gads.c files.c

BINS = $(SCRATCH)main.o     $(SCRATCH)rastport.o $(SCRATCH)draw.o \
       $(SCRATCH)events.o   $(SCRATCH)printer.o  $(SCRATCH)buttons.o \
       $(SCRATCH)messages.o $(SCRATCH)sliders.o  $(SCRATCH)gads.o \
       $(SCRATCH)files.o

BRUSHES1 = linear.brush linearC.brush loglog.brush loglogC.brush \
           logx.brush logxC.brush logy.brush logyC.brush \
	   none.brush noneC.brush

BRUSHES2 = slider-c-small.brush slider-l-small.brush slider-r-small.brush \
	   brushes.dpaint

$(PROG) : $(BINS)
	ln +fc +cbd -g -t +a +q $(BINS) -lm -lc -o $(SCRATCH)$(PROG)
	copy   $(SCRATCH)$(PROG) $(SCRATCH)$(PROG).dbg ""
	delete $(SCRATCH)$(PROG) $(SCRATCH)$(PROG).dbg

$(BINS) : $(SCRATCH)lib-include.b $(HDRS) $(DEFS)

lib-include.b : lib-include.h
	cc $(CF2) -a -ho lib-include.b lib-include.h
	delete lib-include.asm

$(SCRATCH)lib-include.b : lib-include.b
	copy lib-include.b $(SCRATCH)lib-include.b





# regular .c files go here

# -wn ONLY on main! (supress ptr/ptr warnings)
$(SCRATCH)main.o : main.c pw.h
	cc $(CFLAGS) -wo -wn -q0f -o $@ main.c

$(SCRATCH)events.o : events.c
	cc $(CFLAGS) -o $@ events.c

$(SCRATCH)messages.o : messages.c
	cc $(CFLAGS) -o $@ messages.c

$(SCRATCH)draw.o : draw.c
	cc $(CFLAGS) -o $@ draw.c

$(SCRATCH)buttons.o : buttons.c
	cc $(CFLAGS) -o $@ buttons.c

$(SCRATCH)sliders.o : sliders.c
	cc $(CFLAGS) -o $@ sliders.c

$(SCRATCH)gads.o : gads.c
	cc $(CFLAGS) -o $@ gads.c

$(SCRATCH)files.o : files.c
	cc $(CFLAGS) -o $@ files.c

$(SCRATCH)rastport.o : rastport.c
	cc $(CFLAGS) -o $@ rastport.c

$(SCRATCH)printer.o : printer.c
	cc $(CFLAGS) -o $@ printer.c




$(BINS) : $(SCRATCH)lib-include.b graph.h $(DEFS)

tags : $(SRCS) $(HDRS)
	ctags $(SRCS) $(HDRS)

clean :
	delete #?.o #?.bak #?.dbg #?.sym #?.exe
	delete $(SCRATCH)#?.sym $(SCRATCH)#?.o $(SCRATCH)#?.b


backup :
	copy $(HDRS)       old
	copy $(SRCS)       old
	copy $(DEFS)       old
	copy Makefile      old
	copy $(BRUSHES1)   old
	copy $(BRUSHES2)   old
	copy pw.pw pw.h pw.h.notes old
	copy README NEEDED old
        copy pwheader      old
        copy archive       old

wc :
	wc $(HDRS) $(SRCS) $(DEFS)
