
## Available defines for building chm_lib with particular options
# CHM_MT:        build thread-safe version of chm_lib
# CHM_USE_PREAD: build chm_lib to use pread/pread64 for all I/O
# CHM_USE_IO64:  build chm_lib to support 64-bit file I/O
#
# Note: LDFLAGS must contain -lpthread if you are using -DCHM_MT.
#
#CFLAGS=-DCHM_MT -DCHM_USE_PREAD -DCHM_USE_IO64
#CFLAGS=-DCHM_MT -DCHM_USE_PREAD -DCHM_USE_IO64 -g -DDMALLOC_DISABLE
CFLAGS=-g -O2 -DCHM_MT -DCHM_USE_PREAD -DCHM_USE_IO64 -DDMALLOC_DISABLE 
LDFLAGS= -lpthread
INSTALLPREFIX=/usr/local
CC=gcc
top_builddir=
ifeq ($(top_builddir),)
top_builddir=$(shell pwd)
endif
LIBTOOL=$(SHELL) $(top_builddir)/libtool
EXAMPLES=test_chmLib enum_chmLib enumdir_chmLib extract_chmLib chm_http

all: src/libchm.la

examples: ${EXAMPLES}

%.lo: %.c
	${LIBTOOL} --mode=compile ${CC} -c -o $@ $^ ${CFLAGS}

src/libchm.la: src/chm_lib.lo src/lzx.lo
	${LIBTOOL} --mode=link ${CC} -o $@ $^ ${LDFLAGS} -rpath ${INSTALLPREFIX}/lib

install: src/libchm.la
	chmod a+r src/libchm.la
	${LIBTOOL} --mode=install cp src/libchm.la ${INSTALLPREFIX}/lib
	cp src/chm_lib.h ${INSTALLPREFIX}/include

clean:
	rm -fr src/libchm.la src/*.o src/*.lo .libs src/.libs src/${EXAMPLES}

test_chmLib: src/test_chmLib.c
	${CC} -o $@ $^ -I${INSTALLPREFIX}/include -L${INSTALLPREFIX}/lib -lchm ${CFLAGS}

enum_chmLib: src/enum_chmLib.c
	${CC} -o $@ $^ -I${INSTALLPREFIX}/include -L${INSTALLPREFIX}/lib -lchm ${CFLAGS}

enumdir_chmLib: src/enumdir_chmLib.c
	${CC} -o $@ $^ -I${INSTALLPREFIX}/include -L${INSTALLPREFIX}/lib -lchm ${CFLAGS}

extract_chmLib: src/extract_chmLib.c
	${CC} -o $@ $^ -I${INSTALLPREFIX}/include -L${INSTALLPREFIX}/lib -lchm ${CFLAGS}

chm_http: src/chm_http.c
	${CC} -o $@ $^ -I${INSTALLPREFIX}/include -L${INSTALLPREFIX}/lib -lchm -lpthread ${CFLAGS}

