e621556724
FossilOrigin-Name: 249e82b9917ea47c56ee1cbd3345a977d335fd3fc0d67a1ef157813ef4571c7c
56 lines
1.4 KiB
Makefile
56 lines
1.4 KiB
Makefile
#!/this/is/make
|
|
#
|
|
# This makefile compiles SQLTester test files into something
|
|
# we can readily import into JavaScript.
|
|
all:
|
|
|
|
SHELL := $(shell which bash 2>/dev/null)
|
|
MAKEFILE := $(lastword $(MAKEFILE_LIST))
|
|
CLEAN_FILES :=
|
|
DISTCLEAN_FILES := ./--dummy-- *~
|
|
|
|
test-list.mjs := test-list.mjs
|
|
test-list.mjs.gz := $(test-list.mjs).gz
|
|
CLEAN_FILES += $(test-list.mjs)
|
|
|
|
tests.dir := $(firstword $(wildcard tests ../../jni/src/tests))
|
|
$(info test script dir=$(tests.dir))
|
|
|
|
tests.all := $(wildcard $(tests.dir)/*.test)
|
|
|
|
bin.touint8array := ./touint8array
|
|
$(bin.touint8array): $(bin.touint8array).c $(MAKEFILE)
|
|
$(CC) -o $@ $<
|
|
CLEAN_FILES += $(bin.touint8array)
|
|
|
|
ifneq (,$(tests.all))
|
|
$(test-list.mjs): $(bin.touint8array) $(tests.all) $(MAKEFILE)
|
|
@{\
|
|
echo 'export default ['; \
|
|
sep=''; \
|
|
for f in $(sort $(tests.all)); do \
|
|
echo -en $$sep'{"name": "'$${f##*/}'", "content":'; \
|
|
$(bin.touint8array) < $$f; \
|
|
echo -n '}'; \
|
|
sep=',\n'; \
|
|
done; \
|
|
echo '];'; \
|
|
} > $@
|
|
@echo "Created $@"
|
|
$(test-list.mjs.gz): $(test-list.mjs)
|
|
gzip -c $< > $@
|
|
CLEAN_FILES += $(test-list.mjs.gz)
|
|
all: $(test-list.mjs.gz)
|
|
else
|
|
@echo "Cannot build $(test-list.mjs) for lack of input test files."; \
|
|
echo "Symlink ./tests to a directory containing SQLTester-format "; \
|
|
echo "test scripts named *.test, then try again"; \
|
|
exit 1
|
|
endif
|
|
|
|
.PHONY: clean distclean
|
|
clean:
|
|
-rm -f $(CLEAN_FILES)
|
|
distclean: clean
|
|
-rm -f $(DISTCLEAN_FILES)
|