#/****************************************************************************
#**  SIONLIB     http://www.fz-juelich.de/jsc/sionlib                       **
#*****************************************************************************
#**  Copyright (c) 2008-2018                                                **
#**  Forschungszentrum Juelich, Juelich Supercomputing Centre               **
#**                                                                         **
#**  See the file COPYRIGHT in the package base directory for details       **
#****************************************************************************/
#------------------------------------------------------------------------------
# General Settings
#------------------------------------------------------------------------------

TOPDIR = ..

include $(TOPDIR)/Makefile.defs
include $(TOPDIR)/mf/common.defs
include $(TOPDIR)/mf/Makefile.svnrev

CFLAGS += $(SION_DEBUG) $(SION_PTHREADS)
CFLAGS += -I. -I../lib -I../parlib -I../cppinterface
CFLAGS += $(SION_PLATFORM)
LDFLAGS += -L../lib -l$(SION_LIBNAME_SER) -l$(SION_LIBNAME_COM) -l$(SION_LIBNAME_COM_LOCK_NONE) $(HINTSLIB)

CFLAGS += -DSVN_REV='"$(SVN_REV)"'

USER_HDRS =
USER_LIBS =
USER_UTILS = siondump siondefrag sionsplit sioncat sionversion

.PHONY: all
all: $(USER_UTILS)

%.o: %.c
	$(CC) $(CFLAGS) -c $<

%.d: %.c
	@set -e; rm -f $@; \
        $(CC) $(CFLAGS) -MM $< > $@.$$$$; \
	sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
	rm -f $@.$$$$

$(USER_UTILS): %: %.o ../lib/lib$(SION_LIBNAME_SER).a  ../lib/lib$(SION_LIBNAME_COM).a  ../lib/lib$(SION_LIBNAME_COM_LOCK_NONE).a
	$(CC)  -o $@ $< $(LDFLAGS)
	cp $@ $(TOPDIR)/..

###### sionconfig ######
.PHONY: install-config
install-config: sionconfig.in
	AINSTDIR=`(cd $(PREFIX) && pwd)`; \
	sed -e "s!@ARCH@!$(ARCH)!" \
		-e "s!@INSTDIR@!$$AINSTDIR!" \
		-e "s!@LIBNAME@!$(SION_LIBNAME_PAR)!" \
		-e "s!@LIBSERNAME@!$(SION_LIBNAME_SER)!" \
		-e "s!@HINTSLIB@!$(HINTSLIB)!" \
		-e "s!@PTHREADSUPPORT@!$(PTHREADSUPPORT)!" \
		sionconfig.in > $(PREFIX)/bin/sionconfig
	chmod 755 $(PREFIX)/bin/sionconfig; \

.PHONY: install
install: all
	$(MKDIR) -m 755 $(INCDIR)
	@list='$(USER_HDRS)'; for p in $$list; do \
		echo "$(INSTALL) -c -m 644 $$p $(INCDIR)" ; \
		eval "$(INSTALL) -c -m 644 $$p $(INCDIR)" ; \
	done
	$(MKDIR) -m 755 $(LIBDIR)
	@list='$(USER_LIBS)'; for p in $$list; do \
		echo "$(INSTALL) -c -m 644 $$p $(LIBDIR)" ; \
		eval "$(INSTALL) -c -m 644 $$p $(LIBDIR)" ; \
	done
	$(MKDIR) -m 755 $(BINDIR)
	@list='$(USER_UTILS)'; for p in $$list; do \
		echo "$(INSTALL) -c -m 755 $$p $(BINDIR)" ; \
		eval "$(INSTALL) -c -m 755 $$p $(BINDIR)" ; \
	done

.PHONY: clean
clean:
	rm -f *.o lib*.a $(USER_UTILS)

#------------------------------------------------------------------------------
# Dependencies
#------------------------------------------------------------------------------
-include $(USER_UTILS:%=%.d)
