include $(TOPDIR)/src/lib/MakeVars
include $(TOPDIR)/src/lib/MakeSuffixRules
VPATH = $(SRCDIR)

NAME = libderiv
TARGET = $(NAME).$(LIBSUF)
TARGET_HEADERS = libderiv.h

#
# List all generated routines. Do it in a safe way in case the list is too long
#
TRUESRC1 = $(shell echo `ls *.cc`)
LIBOBJ1 = $(TRUESRC1:%.cc=%.$(OBJSUF))
LIBOBJ = $(LIBOBJ1)

default:: $(TOPDIR)/lib/$(TARGET) $(TOPDIR)/include/$(NAME)/$(NAME).h

# this is how static library is made
$(TOPDIR)/lib/$(NAME).a: $(LIBOBJ)
	/bin/rm -f $@
	$(AR) $(ARFLAGS) $@ $(LIBOBJ1)
	$(RANLIB) $@

# this is how shared library is made
$(TOPDIR)/lib/$(NAME).la: $(LIBOBJ)
	$(LTLINK) $(CXX) -o $@ $^ $(LTLINKLIBOPTS)

$(TOPDIR)/include/$(NAME)/$(NAME).h: $(NAME).h
	$(INSTALL) $(INSTALLDIROPT) $(TOPDIR)/include/$(NAME)
	-$(INSTALL) $(INSTALLLIBOPT) $(TARGET_HEADERS) $(TOPDIR)/include/$(NAME)

install:: install_inc install_target

install_inc::
	$(INSTALL) $(INSTALLDIROPT) $(includedir)
	-$(INSTALL) $(INSTALLLIBOPT) $(TARGET_HEADERS) $(includedir)

install_target:: $(TOPDIR)/lib/$(TARGET)
	$(INSTALL) $(INSTALLDIROPT) $(libdir)
	$(INSTALL) $(INSTALLLIBOPT) $< $(libdir)

clean:: oclean targetclean

distclean:: clean

oclean::
	-rm -rf *.$(OBJSUF)

targetclean::
	-rm -f $(TOPDIR)/lib/$(TARGET)



syntax highlighted by Code2HTML, v. 0.9.1