include ../Makefile.global

ALLDEP = 
OBJ =	o/isdk.o \
	o/debug.o \
	o/object.o \
	o/objects.o \
	o/browser.o \
	o/clist.o \
	o/parse.o \
	o/expr_l.o \
	o/expr_y.o \
	o/prog.o \
	o/validate.o \
	o/db.o \
	o/register.o \
	o/perms.o \
	o/params.o \
	o/panic.o \
	o/setup.o \
	o/report.o
LFLAGS = ${CLFLAGS} ${DLFLAGS}
CFLAGS = ${CCFLAGS} ${DCFLAGS}
DEST = isdk.o

# Miscellaneous section
all: c o ${DEST}
ctags:
	ctags ../*/*.c ../*/*/*.c
#doc:
#	../ec2man -D ../doc/man *.c *.ec *.ecd
#	../ec2html -D ../doc/html *.c *.ec *.ecd
install:
	${INSTALL} -d /usr/local/lib/isdk
	${INSTALL} --mode 0644 ${DEST} /usr/local/lib/isdk

clean:
	rm -rf c o; rm -f tags core ${DEST}
c:
	mkdir c
o:
	mkdir o

isdk.o: ${OBJ}
	ld -r -o isdk.o ${OBJ}
o/objects.o: objects.c types.c widget.c form.c ${ALLDEP}
	${CC} ${CFLAGS} -c -o o/objects.o objects.c

o/expr_l.o: c/expr_l.c
	${CC} ${CFLAGS} -c -O2 -o o/expr_l.o c/expr_l.c
o/expr_y.o: c/expr_y.c
	${CC} ${CFLAGS} -c -O2 -o o/expr_y.o c/expr_y.c
c/expr_l.c: expr.l c/expr_y.h
	${LEX} -oc/expr_l.c expr.l
c/expr_y.c: expr.y
	${YACC} -d expr.y && (mv y.tab.c c/expr_y.c; mv y.tab.h c/expr_y.h)
#	bison -d -o c/expr_y.c expr.y
c/expr_y.h: expr.y
	${YACC} -d expr.y && (mv y.tab.c c/expr_y.c; mv y.tab.h c/expr_y.h)
#	bison -d -o c/expr_y.c expr.y

o/%.o: %.c
	${CC} ${CCFLAGS} -c -o $@ $<
c/%.c: %.ec
	${ECPP} -c .ec_info -o $@ $<
o/%.o: c/%.c
	${CC} ${CCFLAGS} -c -o $@ $<
o/db.o: c/db.c
	${CC} ${CCFLAGS} ${DCFLAGS} -c -o o/db.o c/db.c
