1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- #!/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)
|