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

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

# _vrr_build.c need to find libr12.h
CFLAGS += -I.

#
# List all generated routines. Do it in a safe way in case the list is too long
#
TRUESRC1 = $(shell echo `ls vrr_grt_order_*.cc`)
TRUESRC2 = $(shell echo `ls hrr_grt_order_*.cc`)
TRUESRC3 = $(shell echo `ls r_build_*.cc`)
TRUESRC4 = $(shell echo `ls t1_build_*.cc`)
TRUESRC5 = $(shell echo `ls t2_build_*.cc`)
TRUESRC6 = $(shell echo `ls t1hrr1_build_*.cc`)
TRUESRC7 = $(shell echo `ls t2hrr3_build_*.cc`)
TRUESRC8 = init_libr12.c r_vrr_build.c t1_vrr_build.c t2_vrr_build.c
LIBOBJ1 = $(TRUESRC1:%.cc=%.$(OBJSUF))
LIBOBJ2 = $(TRUESRC2:%.cc=%.$(OBJSUF))
LIBOBJ3 = $(TRUESRC3:%.cc=%.$(OBJSUF))
LIBOBJ4 = $(TRUESRC4:%.cc=%.$(OBJSUF))
LIBOBJ5 = $(TRUESRC5:%.cc=%.$(OBJSUF))
LIBOBJ6 = $(TRUESRC6:%.cc=%.$(OBJSUF))
LIBOBJ7 = $(TRUESRC7:%.cc=%.$(OBJSUF))
LIBOBJ8 = $(TRUESRC8:%.c=%.$(OBJSUF))
LIBOBJ = $(LIBOBJ1) $(LIBOBJ2) $(LIBOBJ3) $(LIBOBJ4) $(LIBOBJ5) $(LIBOBJ6) $(LIBOBJ7) $(LIBOBJ8)

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)
	$(AR) $(ARFLAGS) $@ $(LIBOBJ2)
	$(AR) $(ARFLAGS) $@ $(LIBOBJ3)
	$(AR) $(ARFLAGS) $@ $(LIBOBJ4)
	$(AR) $(ARFLAGS) $@ $(LIBOBJ5)
	$(AR) $(ARFLAGS) $@ $(LIBOBJ6)
	$(AR) $(ARFLAGS) $@ $(LIBOBJ7)
	$(AR) $(ARFLAGS) $@ $(LIBOBJ8)
	$(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