#==================================================
# Copyright IBM 2008
#==================================================

.NOTPARALLEL:

SHELL          := /bin/bash
ifeq ($(SHARKCLONEROOT),)
  $(error SHARKCLONEROOT not set)
endif
BLDMODE := $(shell if [ -e $(SHARKCLONEROOT)/config/kdef.mk ]; \
           then echo "GPL"; else echo "CVS"; fi)
ifeq ($(BLDMODE), GPL)
        CONFIGDIR := $(SHARKCLONEROOT)/config
else
        CONFIGDIR := $(SHARKCLONEROOT)/../gconfig
endif
include $(CONFIGDIR)/kdef.mk

DESTDIR = $(SHARKCLONEROOT)
CXI_HEADER_DIR = $(DESTDIR)/include/cxi

DASH_I  = *-[^=\ ][i]*
DASH_IK = *-[^=\ ][ik]*

EXTRA_HEADER := $(shell if [ -e $(CXI_HEADER_DIR)/DirIds.h ]; then echo ""; else echo "DirIds.h"; fi)

ifeq ($(MMPMEM_BUILD_ON), Y)
PMEMHDRS = cxiPMem.h
endif

ifeq ($(LIBSRC_BUILD_ON), Y)
HEADERS = cxiTypes.h cxiSystem.h cxiTSFattr.h cxiSharedSeg.h cxiSynchNames.h cxiMiscNames.h
else
HEADERS = cxiTypes.h cxiSystem.h cxi2gpfs.h cxiVFSStats.h cxiCred.h \
          cxiIOBuffer.h cxiSharedSeg.h cxiMode.h Trace.h cxiMmap.h \
          cxiAtomic.h cxiTSFattr.h cxiAclUser.h cxiLinkList.h cxiDmapi.h \
          LockNames.h lxtrace.h cxiGcryptoDefs.h cxiSynchNames.h \
          cxiMiscNames.h $(PMEMHDRS) $(EXTRA_HEADER)
endif

ifeq ($(BLDMODE), GPL)
headers::
else
ifneq ($(SRC_BUILD_ON), Y)
TRACELIST = cxiTSFattr.h cxiSynchNames.h cxiMiscNames.h cxiTypes.h
trcid: $(TRACELIST)
	$(MKTRACE) -hm $(TRACELIST)
headers:: trcid.h ibm_kxi.trclst
trcid.h: trcid.def $(TRACELIST)
	$(MKTRACE) -hD $(TRACELIST)
ibm_kxi.trclst: trcid.def $(TRACELIST)
	$(RM) ibm_kxi.trclst
	$(MKTRACE) -l ibm_kxi.trclst $(TRACELIST)
clean:: ; $(RM) trcid.h ibm_kxi.trclst
endif
endif

Install:: install
install:: Headers
Headers:: headers
Headers:: install.he
install.he:: $(HEADERS)
	@(case '$(MAKEFLAGS)' in $(DASH_I)) set +e;; esac; \
	        changed="$?"; \
	 if [ ! -e $(CXI_HEADER_DIR) ]; then  \
                echo "Making directory $(CXI_HEADER_DIR)"; \
                mkdir -p $(CXI_HEADER_DIR); \
          fi; \
	  for i in $$changed; do \
		(set -x; $(INSTALL) $(INSTINCFLAGS) $$i $(CXI_HEADER_DIR)/$$i) done)
install.he::
	touch install.he
Clean:: clean
clean::
	 $(RM)  install.he; \
	 for i in $(HEADERS); do \
	    (set -x; $(RM) -r $(CXI_HEADER_DIR)/$$i) done
Depend::
Libs::
InstallLibs::
Makefiles::
subdirMakefiles::
