 PREFIX=
 INSTALL=cp -p

 CC = gcc -pipe
#CPPFLAGS =  -I. -DOP_INTEGER=long -DOP_LOGICAL=int
 CPPFLAGS = -I.
 CFLAGS = -O2 -Wall

 RM = rm -f
 AR = ar
 ARFLAGS = rv

 LIBNAME = liboptimpack.a
 VERSION = 1.0
 OBJS = op_lnsrch.o op_utils.o op_vmlmb.o
 DIRS = yorick idl

all: $(LIBNAME)
install: $(LIBNAME)
	@if [ "x$(PREFIX)" = "x" ]; then \
	  echo "You must define PREFIX macro, e.g.:"; \
	  echo "   > make PREFIX=/usr/local install"; \
	else \
	  [ -d "$(PREFIX)/lib" ] || mkdir -p "$(PREFIX)/lib"; \
	  $(INSTALL) $(LIBNAME) "$(PREFIX)/lib/."; \
	  [ -d "$(PREFIX)/include" ] || mkdir -p "$(PREFIX)/include"; \
	  $(INSTALL) optimpack.h "$(PREFIX)/include/."; \
	  [ -d "$(PREFIX)/doc/OptimPack-$(VERSION)" ] || \
	    mkdir -p "$(PREFIX)/doc/OptimPack-$(VERSION)"; \
	  $(INSTALL) README AUTHORS LICENSE optimpack.h \
	    "$(PREFIX)/doc/OptimPack-$(VERSION)/."; \
	fi

clean:
	$(RM) *~ $(OBJS) $(LIBNAME)
	for dir in $(DIRS); do \
	  if [ -f "$$dir/Makefile" ]; then \
	    (cd $$dir; make clean); \
	  fi; \
	done

distclean: clean
	$(RM) $(LIBNAME)

$(LIBNAME): $(OBJS)
	$(RM) $(LIBNAME)
	$(AR) $(ARFLAGS) $(LIBNAME) $(OBJS)

op_lnsrch.o: op_lnsrch.c optimpack.h
	$(CC) $(CFLAGS) $(CPPFLAGS) -c $(@:.o=.c) -o $@
op_vmlmb.o: op_vmlmb.c optimpack.h
	$(CC) $(CFLAGS) $(CPPFLAGS) -c $(@:.o=.c) -o $@
op_cgmnb.o: op_cgmnb.c optimpack.h
	$(CC) $(CFLAGS) $(CPPFLAGS) -c $(@:.o=.c) -o $@
op_utils.o: op_utils.c optimpack.h
	$(CC) $(CFLAGS) $(CPPFLAGS) -c $(@:.o=.c) -o $@
