# Makefile for pldilib
# $Id: Makefile,v 1.1.1.1 2000/05/04 14:09:57 mis Exp $
#
#
CVS      = cvs
CVSSERV  = cvs.pld.org.pl
PROJ_DIR = $(shell pwd)
VERSION  = $(shell cat VERSION)

CPPFLAGS = -DVERSION=\"$(VERSION)\"
CPPFLAGS += -Itrurlib
override CFLAGS += -g -pedantic -Wall -W 
LDLAGS 	= 
LIBS	= -lz -Ltrurlib -ltrurl
CC 	= gcc
SHELL 	= /bin/sh
RANLIB  = ranlib
AR	= ar
STRIP	= strip

TARGET	= fix-info-dir

####### Implicit rules

%.o:	%.cc
	$(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<

%.o:	%.c
	$(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<

all: 	trurl $(TARGET)

$(TARGET): $(TARGET).o 
	$(CC) $(CFLAGS) -o $(TARGET) $(TARGET).o $(LDLAGS) $(LIBS) 

trurl:  trurl-get
	$(MAKE) -C trurlib WHITHOUT_DBHASH=1 CFLAGS='$(CFLAGS)'

dep:
	gcc -MM $(DEFINES) $(INCLUDE) *.c > .depend

etags: 
	etags *.c *.h

clean:
	-rm -f core *.o *.bak *~ *% *#
	-rm -f $(TARGET) TAGS 
	$(MAKE) -C trurlib clean

distclean: clean
	-rm -f .depend 
	$(MAKE) -C trurlib distclean

install: $(TARGET)
	install -d 755 $(INSTALL_ROOT)/sbin
	install -m 755 $(TARGET) $(INSTALL_ROOT)/sbin


backup:
	cd $(PROJ_DIR) ;\
	Abdir=`pwd`;\
	curdir=`basename  $(PROJ_DIR)` ;\
	curdate=`date +%d.%m.%y-%H.%M`;\
	ARCHDIR=$$curdir-ARCH; \
	ARCHNAME=$$curdir-$$curdate ;\
	cd $(PROJ_DIR) ;\
	cd .. ;\
	mkdir  $$ARCHDIR || true ;\
	cd $$ARCHDIR ;\
	mkdir $$ARCHNAME ;\
	cd .. ;\
	cp -ra $$curdir $$ARCHDIR/$$ARCHNAME ;\
	cd $$ARCHDIR ;\
	tar cvpzf $$ARCHNAME.tgz $$ARCHNAME 

arch :	distclean  backup 

dist:   distclean
	cd $(PROJ_DIR) ;\
	rev=`cat VERSION` ;\
	curdir=`basename  $(PROJ_DIR)` ;\
	DISTDIR=/tmp/$$curdir-$$rev/ ;\
	rm -rf $$DISTDIR ;\
	mkdir $$DISTDIR || true ;\
	cp -a * $$DISTDIR ;\
	cd /tmp ;\
	arch_name=`basename $$DISTDIR` ;\
	tar cvpf `basename $$DISTDIR`.tar `basename $$DISTDIR` ;\
	gzip -9 `basename $$DISTDIR`.tar

#
# cvs 
#
cvs-check:
	@cd $(PROJ_DIR);                                   \
	if [ ! -f CVS/Root ]; then                         \
	   echo "CVS/Root missing";                        \
	   exit 1;            	                           \
	fi;                                                \
                                                           \
	grep $(CVSSERV) $$HOME/.cvspass >/dev/null 2>&1;   \
        if [ $$? -ne 0 ]; then                             \
           $(CVS) login;                                   \
        fi;                                                


trurl-get: cvs-check
	@cd $(PROJ_DIR);                                  \
	if [ ! -f trurlib/Makefile ]; then                \
		$(CVS) -z1 co -r v0_3 pldi/trurlib &&     \
	        mv pldi/trurlib . && rm -rf pldi;         \
	fi                                     

ifeq (.depend,$(wildcard .depend))
include .depend
endif
