CFLAGS = -O2 -Wall -pipe
SHELL = /bin/sh
PREFIX=/usr
CC=gcc
RM=rm -f
LD=ld
STRIP=strip
INSTALL=install

############################################################
## SKUNK MAKE APP
MAKE_OBJECTS	= sdb_make.o skunk_hash.o skunk_make.o
MAKE_BIN	= sdb_make
############################################################

############################################################
## SKUNK QUERY
QUERY_OBJECTS	= sdb_query.o skunk_query.o skunk_hash.o
QUERY_BIN	= sdb_query
############################################################

############################################################
## SKUNK DUMP APP
DUMP_OBJECTS	= sdb_dump.o skunk_hash.o
DUMP_BIN	= sdb_dump
############################################################

INCLUDE		= ../include
############################################################

TARGET=all
CFLAGS+=-I$(INCLUDE)

all: $(QUERY_BIN) $(MAKE_BIN) $(DUMP_BIN) tidy
	@echo
	@echo "Section sizes"
	@echo "============="
	@size $(MAKE_BIN) $(QUERY_BIN) $(DUMP_BIN)

$(MAKE_BIN):$(MAKE_OBJECTS)
	$(CC) $(CFLAGS) -o $(MAKE_BIN) $(MAKE_OBJECTS)

$(DUMP_BIN):$(DUMP_OBJECTS)
	$(CC) $(CFLAGS) -o $(DUMP_BIN) $(DUMP_OBJECTS)

$(QUERY_BIN):$(QUERY_OBJECTS)
	$(CC) $(CFLAGS) -o $(QUERY_BIN) $(QUERY_OBJECTS)

install:
	$(INSTALL) --strip -m 755 $(MAKE_BIN) $(PREFIX)/sbin/$(MAKE_BIN)
	$(INSTALL) --strip -m 755 $(DUMP_BIN) $(PREFIX)/sbin/$(DUMP_BIN)
	$(INSTALL) --strip -m 755 $(QUERY_BIN) $(PREFIX)/sbin/$(QUERY_BIN)
	
uninstall:
	$(RM) $(PREFIX)/sbin/$(MAKE_BIN)
	$(RM) $(PREFIX)/sbin/$(DUMP_BIN)
	$(RM) $(PREFIX)/sbin/$(QUERY_BIN)

tidy:
	-$(RM) core *~
	
clean: tidy
	-$(RM) $(DUMP_BIN) $(DUMP_OBJECTS)
	-$(RM) $(QUERY_BIN) $(QUERY_OBJECTS)
	-$(RM) $(MAKE_BIN) $(MAKE_OBJECTS)

############################################################
sdb_make.o:	sdb_make.c	$(INCLUDE)/skunk_app.h
sdb_dump.o:	sdb_dump.c	$(INCLUDE)/skunk_app.h
sdb_query.o:	sdb_query.c	$(INCLUDE)/skunk_app.h
skunk_hash.o:	skunk_hash.c	$(INCLUDE)/skunk.h
skunk_make.o:	skunk_make.c	$(INCLUDE)/skunk_make.h
skunk_query.o:	skunk_query.c	$(INCLUDE)/skunk_query.h
############################################################
