# ==============================================================
# Makefile for BDD package
# - Edit the lines below to configure
# ==============================================================

# --- Your compiler flags
CFLAGS = -O3 -pedantic -Wall -ansi

# --- Where to install the library (directory, no trailing slash)
LIBDIR = /usr/local/lib

# --- Where to install the include file (directory, no trailing slash)
INCDIR = /usr/local/include

# --- Your C compiler
CC = gcc

# --- Your C++ compiler
CPP = g++


# --------------------------------------------------------------
# The primary targets.
# --------------------------------------------------------------

bdd:
	cd src; make CC="$(CC)" CPP="$(CPP)" CFLAGS="$(CFLAGS)"

doc:
	cd docs; make doc

install:
	cp -f src/libbdd.a $(LIBDIR)/libbdd.a
	chmod 644 $(LIBDIR)/libbdd.a
	cp -f src/bdd.h $(INCDIR)/bdd.h
	chmod 644 $(INCDIR)/bdd.h

uninstall:
	rm -f $(LIBDIR)/libbdd.a
	rm -f $(INCDIR)/bdd.h


# --------------------------------------------------------------
# Housekeeping
# --------------------------------------------------------------
TARGET = bdd
VERSION = 11
RD = $(TARGET)$(VERSION)

clean:
	cd examples/milner; make clean
	cd examples/cmilner; make clean
	cd examples/queen; make clean
	cd examples/adder; make clean
	cd src; make clean
	cd docs; make clean
	rm -f *~
	rm -f $(TARGET).tar.gz
	rm -f $(TARGET)$(VERSION).tar.gz

backup:	clean
	tar -cvf $(TARGET).tar *
	gzip $(TARGET).tar

rel:	doc
	cd src; make depend
	mkdir $(RD)
	mkdir $(RD)/src
	mkdir $(RD)/doc
	mkdir $(RD)/examples
	cp makefile README CHANGES $(RD)
	cp src/*.c src/*.cc src/*.h src/depend.inf src/makefile $(RD)/src
	cp docs/bdd.ps $(RD)/doc
	cp docs/bddnotes.ps $(RD)/doc
	mkdir $(RD)/examples/milner
	cp examples/milner/* $(RD)/examples/milner
	mkdir $(RD)/examples/cmilner
	cp examples/cmilner/* $(RD)/examples/cmilner
	mkdir $(RD)/examples/adder
	cp examples/adder/* $(RD)/examples/adder
	mkdir $(RD)/examples/queen
	cp examples/queen/* $(RD)/examples/queen
	tar -cvf $(TARGET)$(VERSION).tar $(RD)/*
	gzip $(TARGET)$(VERSION).tar
	rm -fr $(RD)

