# Makefile for pldilib
# $Id: Makefile,v 1.5 2000/07/20 15:59:01 mis Exp $
#
#
CVS      = cvs
CVSSERV  = cvs.pld.org.pl
PROJ_DIR = $(shell pwd)
VERSION  = $(shell cat VERSION)
TRURLDIR = trurlib-fid

CPPFLAGS = -DVERSION=\"$(VERSION)\"
CPPFLAGS += -I$(TRURLDIR)
override CFLAGS += -g -pedantic -Wall -W 
LIBS	= -lz
LDLAGS 	= $(TRURLDIR)/narray.a $(LIBS)
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 $@ $@.o  $(LDLAGS)

trurl:  
	$(MAKE) -C $(TRURLDIR) modules=on symlink narray.a CFLAGS='$(CFLAGS)'

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

etags: 
	etags *.c *.h

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

distclean: clean
	-rm -f .depend
	$(MAKE) -C $(TRURLDIR) 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-check:
	@if [ ! -f trurlib/Makefile ]; then \
	    echo "Error: trurlib/ is missing, try: make trurl-get";   \
	    exit 1;                                                   \
	fi	


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

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