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

############################################################
## SKUNK LIBRARY
LIB_OBJECTS	= skunk_query.o skunk_make.o
LIB_ARCHIVE	= skunk.a
############################################################

############################################################
## SKUNK MAKE APP
MAKE_OBJECTS	= sdb_make.o skunk.a
MAKE_BIN	= sdb_make
############################################################

############################################################
## SKUNK QUERY
QUERY_OBJECTS	= sdb_query.o skunk.a
QUERY_BIN	= sdb_query
############################################################

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

############################################################
## SKUNK TAR APP
TAR_OBJECTS	= sdb_tar.o skunk.a
TAR_BIN		= sdb_tar
############################################################

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

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

.PHONY: all clean install uninstall tidy

all: $(QUERY_BIN) $(MAKE_BIN) $(DUMP_BIN) $(TAR_BIN) tidy

$(LIB_ARCHIVE): $(LIB_OBJECTS)
	ar cr $(LIB_ARCHIVE) $(LIB_OBJECTS)
	ranlib $(LIB_ARCHIVE)

$(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)

$(TAR_BIN):$(TAR_OBJECTS)
	$(CC) $(CFLAGS) -o $(TAR_BIN) $(TAR_OBJECTS)

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

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

############################################################
sdb_tar.o: 	sdb_tar.c	$(INCLUDE)/skunk_app.h
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_make.o:	skunk_make.c	$(INCLUDE)/skunk_make.h
skunk_query.o:	skunk_query.c	$(INCLUDE)/skunk_query.h
############################################################
