.POSIX:

#PREFIX = /usr/local
NOSQLDIR = $(PREFIX)
BINDIR = $(NOSQLDIR)/bin
LIBDIR = $(NOSQLDIR)/lib
HELPDIR = $(NOSQLDIR)/help
DOCDIR = $(NOSQLDIR)/doc
INSTDIR = $(NOSQLDIR)

CC = gcc
CFLAGS = -g -O3 -Wall -D'HELPDIR="$(HELPDIR)"' -D'DOCDIR="$(DOCDIR)"' \
	-D'LIBDIR="$(LIBDIR)"' -D'INSTDIR="$(INSTDIR)"'

SIMPLE_PROGS = _indextable \
	compute \
	filemode \
	filtertable \
	keysearch \
	getrow \
	sorttable \
	csvtotable \
	usleep \
	seektable \

PROGS = awktable \
	getcolumn \
	uniontable \
	jointable \

LIBFILES = striphead.awk

AWK_OBJ = awktable.o \
	misc.o \
	strlist.o \

COLUMN_OBJ = getcolumn.o \
	misc.o \

UNION_OBJ = uniontable.o \
	misc.o \
	strlist.o \

JOIN_OBJ = jointable.o \
	misc.o \
	strlist.o \

OFILES = $(AWK_OBJ) $(COLUMN_OBJ) $(UNION_OBJ) $(JOIN_OBJ)

all: $(SIMPLE_PROGS) $(PROGS) $(LIBFILES)

$(OFILES): util.h

awktable: $(AWK_OBJ)
	$(CC) -o $@ $(LDFLAGS) $(AWK_OBJ)

getcolumn: $(COLUMN_OBJ)
	$(CC) -o $@ $(LDFLAGS) $(COLUMN_OBJ)

uniontable: $(UNION_OBJ)
	$(CC) -o $@ $(LDFLAGS) $(UNION_OBJ)

jointable: $(JOIN_OBJ)
	$(CC) -o $@ $(LDFLAGS) $(JOIN_OBJ)

install: all
	test -d $(BINDIR) || mkdir -p $(BINDIR)
	install -c $(SIMPLE_PROGS) $(PROGS) $(BINDIR)
	test -d $(LIBDIR) || mkdir -p $(LIBDIR)
	install -c $(LIBFILES) $(LIBDIR)

clean:
	rm -f $(SIMPLE_PROGS) $(PROGS) *.o

