<commit_before>include config.mk
VALADIR=bindings/vala

PWD=$(shell pwd)
PFX=${DESTDIR}${PREFIX}
HGFILES=`find sdb-${SDBVER} -type f | grep -v hg | grep -v swp`
MKDIR=mkdir

all: pkgconfig src/sdb_version.h
	${MAKE} -C src
ifeq ($(BUILD_MEMCACHE),1)
	${MAKE} -C memcache
endif

vala:
ifneq (${HAVE_VALA},)
	cd ${VALADIR} && ${MAKE}
	cd ${VALADIR}/types && ${MAKE}
else
	@echo Nothing to do.
endif

.PHONY: test sdb.js pkgconfig
test:
	${MAKE} -C test

asan:
	${MAKE} src/sdb_version.h
	${MAKE} -C src CC="gcc -fsanitize=address" all

pkgconfig:
	[ -d pkgconfig ] && ${MAKE} -C pkgconfig || true

src/sdb_version.h:
	echo '#define SDB_VERSION "${SDBVER}"' > src/sdb_version.h

CFILES=cdb.c buffer.c cdb_make.c ls.c ht.c sdb.c num.c base64.c
CFILES+=json.c ns.c lock.c util.c disk.c query.c array.c fmt.c main.c
EMCCFLAGS=-O2 -s EXPORTED_FUNCTIONS="['_sdb_querys','_sdb_new0']"
#EMCCFLAGS+=--embed-file sdb.data
sdb.js: src/sdb_version.h
	cd src ; emcc ${EMCCFLAGS} -I. -o ../sdb.js ${CFILES}

clean:
	rm -f src/sdb_version.h
	cd src && ${MAKE} clean
	cd memcache && ${MAKE} clean
	cd test && ${MAKE} clean
ifneq (${HAVE_VALA},)
	cd ${VALADIR} && ${MAKE} clean
endif

dist:
	rm -f sdb-${SDBVER}.tar.gz
	rm -rf sdb-${SDBVER}
	git clone . sdb-${SDBVER}
	rm -rf sdb-${SDBVER}/.git*
	tar czvf sdb-${SDBVER}.tar.gz sdb-${SDBVER}
	pub sdb-${SDBVER}.tar.gz
	rm -rf sdb-${SDBVER}

w32dist:
	rm -f sdb-${SDBVER}.zip
	rm -rf sdb-${SDBVER}
	mkdir -p sdb-${SDBVER}
	cp src/sdb.exe sdb-${SDBVER}
	zip -r sdb-${SDBVER}.zip sdb-${SDBVER}
	rm -rf sdb-${SDBVER}

install-dirs:
	$(INSTALL_DIR) ${DESTDIR}${MANDIR} ${DESTDIR}${LIBDIR}/pkgconfig ${DESTDIR}${BINDIR} 
	$(INSTALL_DIR) ${DESTDIR}${DATADIR}/vala/vapi ${DESTDIR}${INCDIR}/sdb

INCFILES=src/sdb.h src/sdb_version.h src/cdb.h src/ht.h src/types.h
INCFILES+=src/ls.h src/cdb_make.h src/buffer.h src/config.h

install: pkgconfig install-dirs
	$(INSTALL_MAN) src/sdb.1 ${DESTDIR}${MANDIR}
	$(INSTALL_LIB) src/libsdb.${EXT_SO} ${DESTDIR}${LIBDIR}
	$(INSTALL_DATA) src/libsdb.a ${DESTDIR}${LIBDIR}
	-if [ "$(EXT_SO)" != "$(SOVER)" ]; then \
	  cd ${DESTDIR}${LIBDIR} ; \
	  mv libsdb.$(EXT_SO) libsdb.$(SOVER) ; \
	  ln -s libsdb.$(SOVER) libsdb.$(EXT_SO) ; \
	  ln -s libsdb.$(SOVER) libsdb.$(EXT_SO).$(SOVERSION) ; \
	fi
	$(INSTALL_DATA) $(INCFILES) ${DESTDIR}${INCDIR}/sdb
	$(INSTALL_PROGRAM) src/sdb ${DESTDIR}${BINDIR}
ifeq ($(BUILD_MEMCACHE),1)
	$(INSTALL_DATA) memcache/libmcsdb.a ${DESTDIR}${LIBDIR}
	$(INSTALL_DATA) memcache/mcsdb.h ${DESTDIR}${INCDIR}/sdb
	$(INSTALL_PROGRAM) memcache/mcsdbd ${DESTDIR}${BINDIR}
	$(INSTALL_PROGRAM) memcache/mcsdbc ${DESTDIR}${BINDIR}
	$(INSTALL_DATA) pkgconfig/mcsdb.pc ${DESTDIR}${LIBDIR}/pkgconfig
endif
	$(INSTALL_DATA) pkgconfig/sdb.pc ${DESTDIR}${LIBDIR}/pkgconfig
ifneq (${HAVE_VALA},)
	$(INSTALL_DATA) ${VALADIR}/sdb.vapi ${DESTDIR}${DATADIR}/vala/vapi
	cd ${VALADIR}/types && ${MAKE} install DESTDIR=${DESTDIR} PREFIX=${PREFIX}<commit_msg>Fix #147 - Generate sdbtypes.h at install time<commit_after>include config.mk
VALADIR=bindings/vala

PWD=$(shell pwd)
PFX=${DESTDIR}${PREFIX}
HGFILES=`find sdb-${SDBVER} -type f | grep -v hg | grep -v swp`
MKDIR=mkdir

all: pkgconfig src/sdb_version.h
	${MAKE} -C src
ifeq ($(BUILD_MEMCACHE),1)
	${MAKE} -C memcache
endif

vala:
ifneq (${HAVE_VALA},)
	cd ${VALADIR} && ${MAKE}
	cd ${VALADIR}/types && ${MAKE}
else
	@echo Nothing to do.
endif

.PHONY: test sdb.js pkgconfig
test:
	${MAKE} -C test

asan:
	${MAKE} src/sdb_version.h
	${MAKE} -C src CC="gcc -fsanitize=address" all

pkgconfig:
	[ -d pkgconfig ] && ${MAKE} -C pkgconfig || true

src/sdb_version.h:
	echo '#define SDB_VERSION "${SDBVER}"' > src/sdb_version.h

CFILES=cdb.c buffer.c cdb_make.c ls.c ht.c sdb.c num.c base64.c
CFILES+=json.c ns.c lock.c util.c disk.c query.c array.c fmt.c main.c
EMCCFLAGS=-O2 -s EXPORTED_FUNCTIONS="['_sdb_querys','_sdb_new0']"
#EMCCFLAGS+=--embed-file sdb.data
sdb.js: src/sdb_version.h
	cd src ; emcc ${EMCCFLAGS} -I. -o ../sdb.js ${CFILES}

clean:
	rm -f src/sdb_version.h
	cd src && ${MAKE} clean
	cd memcache && ${MAKE} clean
	cd test && ${MAKE} clean
ifneq (${HAVE_VALA},)
	cd ${VALADIR} && ${MAKE} clean
endif

dist:
	rm -f sdb-${SDBVER}.tar.gz
	rm -rf sdb-${SDBVER}
	git clone . sdb-${SDBVER}
	rm -rf sdb-${SDBVER}/.git*
	tar czvf sdb-${SDBVER}.tar.gz sdb-${SDBVER}
	pub sdb-${SDBVER}.tar.gz
	rm -rf sdb-${SDBVER}

w32dist:
	rm -f sdb-${SDBVER}.zip
	rm -rf sdb-${SDBVER}
	mkdir -p sdb-${SDBVER}
	cp src/sdb.exe sdb-${SDBVER}
	zip -r sdb-${SDBVER}.zip sdb-${SDBVER}
	rm -rf sdb-${SDBVER}

install-dirs:
	$(INSTALL_DIR) ${DESTDIR}${MANDIR} ${DESTDIR}${LIBDIR}/pkgconfig ${DESTDIR}${BINDIR} 
	$(INSTALL_DIR) ${DESTDIR}${DATADIR}/vala/vapi ${DESTDIR}${INCDIR}/sdb

INCFILES=src/sdb.h src/sdb_version.h src/cdb.h src/ht.h src/types.h
INCFILES+=src/ls.h src/cdb_make.h src/buffer.h src/config.h

install: pkgconfig install-dirs
	$(INSTALL_MAN) src/sdb.1 ${DESTDIR}${MANDIR}
	$(INSTALL_LIB) src/libsdb.${EXT_SO} ${DESTDIR}${LIBDIR}
	$(INSTALL_DATA) src/libsdb.a ${DESTDIR}${LIBDIR}
	-if [ "$(EXT_SO)" != "$(SOVER)" ]; then \
	  cd ${DESTDIR}${LIBDIR} ; \
	  mv libsdb.$(EXT_SO) libsdb.$(SOVER) ; \
	  ln -s libsdb.$(SOVER) libsdb.$(EXT_SO) ; \
	  ln -s libsdb.$(SOVER) libsdb.$(EXT_SO).$(SOVERSION) ; \
	fi
	$(INSTALL_DATA) $(INCFILES) ${DESTDIR}${INCDIR}/sdb
	$(INSTALL_PROGRAM) src/sdb ${DESTDIR}${BINDIR}
ifeq ($(BUILD_MEMCACHE),1)
	$(INSTALL_DATA) memcache/libmcsdb.a ${DESTDIR}${LIBDIR}
	$(INSTALL_DATA) memcache/mcsdb.h ${DESTDIR}${INCDIR}/sdb
	$(INSTALL_PROGRAM) memcache/mcsdbd ${DESTDIR}${BINDIR}
	$(INSTALL_PROGRAM) memcache/mcsdbc ${DESTDIR}${BINDIR}
	$(INSTALL_DATA) pkgconfig/mcsdb.pc ${DESTDIR}${LIBDIR}/pkgconfig
endif
	$(INSTALL_DATA) pkgconfig/sdb.pc ${DESTDIR}${LIBDIR}/pkgconfig
ifneq (${HAVE_VALA},)
	test -f ${VALADIR}/types/sdbtypes.h || $(MAKE) -C $(VALADIR)/types
	$(INSTALL_DATA) ${VALADIR}/sdb.vapi ${DESTDIR}${DATADIR}/vala/vapi
	cd ${VALADIR}/types && ${MAKE} install DESTDIR=${DESTDIR} PREFIX=${PREFIX}
{'fraction_non_alphanumeric': 0.20339552866027905, 'fraction_numerical': 0.0035300050428643467, 'mean_word_length': 4.602636534839925, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6279964', 'n_tokens_mistral': 2869, 'n_tokens_neox': 2744, 'n_words': 523}