# Makefile for core utilities of the strings db suite.
#
# See COPYING for distribution and licensing information.
#
# Copyright (c) 1997 Amelia A. Lewis
#
# $Id: Makefile 58 2005-09-20 22:14:23Z amyzing $
#
# Revised for 0.5.0

VERSION_HEADER=version.h
MAJOR_VERSION=0
MINOR_VERSION=5
PATCH_VERSION=5
FULLVER=$(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_VERSION)

CC=gcc
#CFLAGS=-Wall -O2
CFLAGS=-Wall -O2
EXTRAFLAGS=-DUSE_REGEX
LDFLAGS=-s
LIBFLAGS=-fPIC -c
LIB=libstr.a

BINDIR=/usr/local/bin
MANDIR=/usr/local/share/man/man1
MANSUFFIX=.1str
LIBMANDIR=/usr/local/share/man/man3
LIBMANSUFFIX=.3str

LIBSOURCE=strdb.c keydb.c sortdb.c maintdb.c errdb.c
LIBTARGS=strdb.o keydb.o sortdb.o maintdb.o errdb.o

all: $(LIB)

$(VERSION_HEADER):
	echo "#define VERSION_MAJOR "$(MAJOR_VERSION) >version.h
	echo "#define VERSION_MINOR "$(MINOR_VERSION) >>version.h
	echo "#define VERSION_PATCH "$(PATCH_VERSION) >>version.h

$(LIBTARGS): $(VERSION_HEADER)
	for o in $(LIBSOURCE) ; do $(CC) $(LIBFLAGS) $(CFLAGS) $(EXTRAFLAGS) $$o ; done

lib: libstr.a

libstr.a: $(LIBTARGS)
	ar crus libstr.a $(LIBTARGS)

shared: libstr.so

libstr.so: $(LIBTARGS)
	$(CC) -shared -Wl,-soname,libstr.so.$(MAJOR_VERSION) -o libstr.so.$(FULLVER) $(LIBTARGS) -lc

install:
#	cp $(TARGETS) $(BINDIR)
#	for i in $(TARGETS) ; do cp man/$$i".man" $(MANDIR)/$$i$(MANSUFFIX) ; done
	mkdir -p $(MANDIR)
	mkdir -p $(LIBMANDIR)
	cp man/strdb.man $(MANDIR)/strdb$(MANSUFFIX)
	cp man/libstr.man $(LIBMANDIR)/libstr$(LIBMANSUFFIX)

clean:
	-rm -f ${VERSION_HEADER} *.o *.a *.so.*
