CUR_REL_PATH := libs/bufr

include ../../config.mk

LIB = libbufr.a
APPS = encbufr decbufr apisamp
INST_APPS = encbufr decbufr

BUFR_TABS ?= ${IRIS_CONFIG}/bufr/
BUFR_TABS_VOLATILE ?= ${IRIS_CONFIG_TMPL}/bufr/

CFLAGS += ${OPTIMIZEFLAG}
ifeq ($(shell uname -s),Linux)
CFLAGS    += -Wall -Wno-uninitialized -ansi -pedantic
CPPFLAGS  += -DLinux
endif
ifeq ($(shell uname -s),HP-UX)
CFLAGS    += -Ae +DAportable
CPPFLAGS  += -DHPUX
endif

CPPFLAGS  = -I../../include -I${IRIS_ROOT}/include
LDFLAGS   = -L../../libs/lib -L${IRIS_ROOT}/libs/lib 
LDLIBS    = -lm
LOADLIBES = ${LIB}

LIB_C_SRCS = bufr.c desc.c bitio.c rlenc.c
BTABS = $(wildcard *.csv)
#LIB_C_OBJS := $(patsubst %c,%.o,$(LIB_C_SRCS))
LIB_C_OBJS = ${LIB_C_SRCS:.c=.o}
#APP_OBJS := $(patsubst %,%.o,$(APPS))
APP_OBJS = ${APPS:=.o}

MKDEPEND_CSRCS = ${LIB_C_SRCS}

all: ${LIB_DIR} ${LIB_DIR}/${LIB} ${APPS}

depend: makefile.d

makefile.d: ${MKDEPEND_CSRCS}
	touch makefile.d
	makedepend -fmakefile.d -- ${CPPFLAGS} -- ${MKDEPEND_CSRCS} ; 

clean: cleanexe
	rm -f *.o *.d *.bak *~

cleanexe:
	rm -f $(APPS) $(LIB)

install: all ${IRIS_BIN} ${IRIS_LIB} ${BUFR_TABS} ${BUFR_TABS_VOLATILE}
	install -m 0664 -o ${IRIS_USER} -g ${IRIS_GROUP} ${LIB} ${IRIS_LIB}
	install -m 0775 -o ${IRIS_USER} -g ${IRIS_GROUP} ${INST_APPS} ${IRIS_BIN}
	install -m 0664 -o ${IRIS_USER} -g ${IRIS_GROUP} *.csv ${BUFR_TABS}
	install -m 0664 -o ${IRIS_USER} -g ${IRIS_GROUP} *.csv ${BUFR_TABS_VOLATILE}

uninstall:
	cd ${IRIS_BIN}; rm -f ${INST_APPS}
	cd ${IRIS_LIB}; rm -f ${LIB}
	cd ${BUFR_TABS}; rm -f ${BTABS}
	cd ${BUFR_TABS_VOLATILE}; rm -f ${BTABS}

install_src: ${INST_SRC_DIR}
	install -m 0664 -o ${IRIS_USER} -g ${IRIS_GROUP} Makefile *.[cCh] ${INST_SRC_DIR}

uninstall_src:
	rm -rf ${INST_SRC_DIR}

${LIB}: ${LIB_C_OBJS}
	rm -f $@; $(AR) -rsc $@ $^

${BUFR_TABS} ${BUFR_TABS_VOLATILE}:
	install -m 0775 -o ${IRIS_USER} -g ${IRIS_GROUP} -d $@

$(APP_OBJS):

$(LIB_C_OBJS) $(APP_OBJS): Makefile

-include makefile.d
