#
#  Makefile for INGRES support routines
#
#	@(#)Makefile	8.12	10/24/87
#

include ../Config

INGRES=	../..
H=	../h
LIB=	$(INGRES)/lib
BIN=	$(INGRES)/bin
SYSBIN=	/usr/local

ALL=	creatdb destroydb helpr printr purge \
	restore usersetup ingres printadmin \
	ingreslock copydb ingconv sysmod
SRCS=	creatdb.c destroydb.c error.c helpr.c ingres.y \
	printr.c purge.c subs.c usersetup.c \
	restore.c copydb.q prvect.c printadmin.c \
	demodb.sh initsocket.c ildr.c ingconv.q 
HDRS=	ildr.h

CTLMOD=	$(LIB)/ctlmod
IUTIL=	$(LIB)/iutil
GUTIL=	$(LIB)/gutil
DBULIB=	$(LIB)/dbulib
LIBS1=	$(GUTIL)
LIBS2=	$(IUTIL) $(GUTIL)
LIBS4=	$(DBULIB) $(IUTIL) $(GUTIL) $(CTLMOD)
LIBS4=  externs.o $(DBULIB) $(IUTIL) $(CTLMOD) $(GUTIL) $(IUTIL)

CFLAGS=	 $(CONFIG) -O -I$H -I../ctlmod
EQUEL=	$(BIN)/equel
LDFLAGS=
CP=	cp
CHMOD=	install -m
BINMODE=751
SUMODE=	6751
ROMODE=	444
SHMODE=	755
HEADER=	Support Programs

.SUFFIXES: .q

.q.c:
	$(EQUEL) $<

.q.o:
	$(EQUEL) $<
	$(CC) $(CFLAGS) -c $*.c

install: $(ALL) demodb

copydb:	copydb.o $(LIBS1)
	$(CC) $(LDFLAGS) copydb.o $(LIBS1) $(LIB)/libq.a -o copydb
	$(CHMOD) $(BINMODE) copydb $(BIN)
	rm $@

ingconv:  ingconv.o $(LIBS1)
	$(CC) $(LDFLAGS) ingconv.o $(LIBS1) $(LIB)/libq.a -o ingconv
	$(CHMOD) $(SUMODE) ingconv $(BIN)
	rm $@

creatdb: creatdb.o error.o prvect.o $(LIBS4)
	$(CC) $(LDFLAGS) creatdb.o error.o prvect.o $(LIBS4) -lm -o creatdb
	$(CHMOD) $(SUMODE) creatdb $(BIN)
	rm $@

demodb: demodb.sh
	install -m $(BINMODE) demodb.sh $(BIN)/demodb

destroydb: destroydb.o $(LIBS4)
	$(CC) $(LDFLAGS) destroydb.o $(LIBS4) -lm -o destroydb
	$(CHMOD) $(SUMODE) destroydb $(BIN)
	rm $@

helpr:	helpr.o error.o prvect.o $(LIBS4) 
	$(CC) $(LDFLAGS) helpr.o error.o prvect.o $(LIBS4) -lm -o helpr
	$(CHMOD) $(SUMODE) helpr $(BIN)
	rm $@

ingres: ingres.o $(LIBS2)
	$(CC) ingres.o $(LDFLAGS) $(LIBS2) -o ingres
	$(CHMOD) $(SUMODE) ingres $(BIN)
	rm $@
	-rm $(BIN)/sysmod
	ln $(BIN)/ingres $(BIN)/sysmod

sysmod:	ingres

ingres.o: ingres.c
	$(CC) $(CFLAGS) -I../ctlmod -c ingres.c

ingreslock: ildr.o initsocket.o
	$(CC) $(LDFLAGS) -o ingreslock ildr.o initsocket.o 
	$(CHMOD) $(BINMODE) ingreslock $(BIN)
	rm $@

printadmin: printadmin.o $(LIBS2)
	$(CC) $(LDFLAGS) printadmin.o $(LIBS2) -o printadmin
	$(CHMOD) $(SUMODE) printadmin $(BIN)
	rm $@

printr: printr.o error.o prvect.o $(LIBS4)
	$(CC) $(LDFLAGS) printr.o error.o prvect.o $(LIBS4) -lm -o printr
	$(CHMOD) $(SUMODE) printr $(BIN)
	rm $@

purge: purge.o subs.o error.o $(LIBS4)
	$(CC) $(LDFLAGS) purge.o subs.o error.o $(LIBS4) -lm -o purge
	$(CHMOD) $(SUMODE) purge $(BIN)
	rm $@

restore: restore.o subs.o error.o $(LIBS4)
	$(CC) $(LDFLAGS) restore.o subs.o error.o $(LIBS4) -lm -o restore
	$(CHMOD) $(SUMODE) restore $(BIN)
	rm $@

usersetup.o: usersetup.c
	$(CC) -fwritable-strings $(CFLAGS) -c usersetup.c

usersetup: usersetup.o $(LIBS1)
	$(CC) $(LDFLAGS) usersetup.o $(LIBS1) -o usersetup
	$(CHMOD) 700 usersetup $(BIN) 
	rm $@

new:
	rm -f $(ALL)

clean:
	rm -f *.o
	rm -f $(ALL) ingconv.c copydb.c copydb5.c ingres.c a.out core y.tab.c


