mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-07-15 17:07:34 +02:00
makefile cleanup, setting proper dependencies for tests
This commit is contained in:
parent
840ef090bd
commit
9c5dee322a
2 changed files with 27 additions and 28 deletions
54
Makefile
54
Makefile
|
@ -1,6 +1,6 @@
|
||||||
# -*- makefile-gmake -*-
|
# -*- makefile-gmake -*-
|
||||||
|
|
||||||
.PHONY: all libs doc dist clean cleaner dist-clean test install uninstall
|
.PHONY: all libs doc dist clean cleaner dist-clean install uninstall test
|
||||||
.PRECIOUS: %.c
|
.PRECIOUS: %.c
|
||||||
|
|
||||||
# install configuration
|
# install configuration
|
||||||
|
@ -103,6 +103,8 @@ endif
|
||||||
|
|
||||||
all: chibi-scheme$(EXE) libs
|
all: chibi-scheme$(EXE) libs
|
||||||
|
|
||||||
|
CHIBI ?= LD_LIBRARY_PATH=".:$(LD_LIBRARY_PATH)" ./chibi-scheme$(EXE)
|
||||||
|
|
||||||
COMPILED_LIBS := lib/srfi/18/threads$(SO) lib/srfi/27/rand$(SO) lib/srfi/33/bit$(SO) \
|
COMPILED_LIBS := lib/srfi/18/threads$(SO) lib/srfi/27/rand$(SO) lib/srfi/33/bit$(SO) \
|
||||||
lib/srfi/39/param$(SO) lib/srfi/69/hash$(SO) lib/srfi/95/qsort$(SO) \
|
lib/srfi/39/param$(SO) lib/srfi/69/hash$(SO) lib/srfi/95/qsort$(SO) \
|
||||||
lib/srfi/98/env$(SO) lib/chibi/ast$(SO) lib/chibi/net$(SO) \
|
lib/srfi/98/env$(SO) lib/chibi/ast$(SO) lib/chibi/net$(SO) \
|
||||||
|
@ -142,33 +144,29 @@ chibi-scheme$(EXE): main.o libchibi-scheme$(SO)
|
||||||
chibi-scheme-static$(EXE): main.o eval.o sexp.o
|
chibi-scheme-static$(EXE): main.o eval.o sexp.o
|
||||||
$(CC) $(XCFLAGS) $(STATICFLAGS) -o $@ $^ $(LDFLAGS) $(GCLDFLAGS) -lm
|
$(CC) $(XCFLAGS) $(STATICFLAGS) -o $@ $^ $(LDFLAGS) $(GCLDFLAGS) -lm
|
||||||
|
|
||||||
clibs.c: $(GENSTATIC) lib lib/chibi lib/srfi
|
clibs.c: $(GENSTATIC) lib lib/chibi lib/srfi chibi-scheme$(EXE) libs
|
||||||
$(MAKE) chibi-scheme$(EXE)
|
$(CHIBI) $< > $@
|
||||||
$(MAKE) libs
|
|
||||||
LD_LIBRARY_PATH=".:$(LD_LIBRARY_PATH)" PATH=".:$(PATH)" $(GENSTATIC) $< > $@
|
|
||||||
|
|
||||||
%.c: %.stub $(GENSTUBS)
|
%.c: %.stub $(GENSTUBS) chibi-scheme$(EXE)
|
||||||
$(MAKE) chibi-scheme$(EXE)
|
-$(CHIBI) $(GENSTUBS) $<
|
||||||
-LD_LIBRARY_PATH=".:$(LD_LIBRARY_PATH)" PATH=".:$(PATH)" $(GENSTUBS) $<
|
|
||||||
|
|
||||||
lib/%$(SO): lib/%.c $(INCLUDES)
|
lib/%$(SO): lib/%.c $(INCLUDES)
|
||||||
-$(CC) $(CLIBFLAGS) $(XCPPFLAGS) $(XCFLAGS) -o $@ $< -L. -lchibi-scheme
|
-$(CC) $(CLIBFLAGS) $(XCPPFLAGS) $(XCFLAGS) -o $@ $< -L. -lchibi-scheme
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f *.o *.i *.s *.8
|
rm -f *.o *.i *.s *.8
|
||||||
find lib -name \*$(SO) -exec rm -f '{}' \;
|
|
||||||
rm -f tests/basic/*.out tests/basic/*.err
|
rm -f tests/basic/*.out tests/basic/*.err
|
||||||
|
|
||||||
cleaner: clean
|
cleaner: clean
|
||||||
rm -f chibi-scheme$(EXE) chibi-scheme-static$(EXE) $(COMPILED_LIBS) *$(SO) *.a include/chibi/install.h
|
rm -f chibi-scheme$(EXE) chibi-scheme-static$(EXE) *.a include/chibi/install.h
|
||||||
rm -rf *.dSYM
|
find lib -name \*$(SO) -o -name \*$(SO).dSYM -exec rm -rf '{}' \;
|
||||||
|
|
||||||
dist-clean: cleaner
|
dist-clean: cleaner
|
||||||
for f in `find lib -name \*.stub`; do rm -f $${f%.stub}.c; done
|
for f in `find lib -name \*.stub`; do rm -f $${f%.stub}.c; done
|
||||||
|
|
||||||
test-basic: chibi-scheme$(EXE)
|
test-basic: chibi-scheme$(EXE)
|
||||||
@for f in tests/basic/*.scm; do \
|
@for f in tests/basic/*.scm; do \
|
||||||
LD_LIBRARY_PATH=".:$(LD_LIBRARY_PATH)" ./chibi-scheme$(EXE) $$f >$${f%.scm}.out 2>$${f%.scm}.err; \
|
$(CHIBI) $$f >$${f%.scm}.out 2>$${f%.scm}.err; \
|
||||||
if diff -q $(DIFFOPTS) $${f%.scm}.out $${f%.scm}.res; then \
|
if diff -q $(DIFFOPTS) $${f%.scm}.out $${f%.scm}.res; then \
|
||||||
echo "[PASS] $${f%.scm}"; \
|
echo "[PASS] $${f%.scm}"; \
|
||||||
else \
|
else \
|
||||||
|
@ -179,41 +177,41 @@ test-basic: chibi-scheme$(EXE)
|
||||||
test-build:
|
test-build:
|
||||||
./tests/build/build-tests.sh
|
./tests/build/build-tests.sh
|
||||||
|
|
||||||
test-threads: chibi-scheme$(EXE)
|
test-threads: chibi-scheme$(EXE) lib/srfi/18/threads$(SO) lib/srfi/39/param$(SO) lib/srfi/98/env$(SO) lib/chibi/ast$(SO) lib/chibi/time$(SO)
|
||||||
LD_LIBRARY_PATH=".:$(LD_LIBRARY_PATH)" ./chibi-scheme$(EXE) tests/thread-tests.scm
|
$(CHIBI) tests/thread-tests.scm
|
||||||
|
|
||||||
test-numbers: chibi-scheme$(EXE)
|
test-numbers: chibi-scheme$(EXE)
|
||||||
LD_LIBRARY_PATH=".:$(LD_LIBRARY_PATH)" ./chibi-scheme$(EXE) tests/numeric-tests.scm
|
$(CHIBI) tests/numeric-tests.scm
|
||||||
|
|
||||||
test-flonums: chibi-scheme$(EXE)
|
test-flonums: chibi-scheme$(EXE)
|
||||||
LD_LIBRARY_PATH=".:$(LD_LIBRARY_PATH)" ./chibi-scheme$(EXE) tests/flonum-tests.scm
|
$(CHIBI) tests/flonum-tests.scm
|
||||||
|
|
||||||
test-hash: chibi-scheme$(EXE)
|
test-hash: chibi-scheme$(EXE) lib/srfi/69/hash$(SO)
|
||||||
LD_LIBRARY_PATH=".:$(LD_LIBRARY_PATH)" ./chibi-scheme$(EXE) tests/hash-tests.scm
|
$(CHIBI) tests/hash-tests.scm
|
||||||
|
|
||||||
test-match: chibi-scheme$(EXE)
|
test-match: chibi-scheme$(EXE)
|
||||||
LD_LIBRARY_PATH=".:$(LD_LIBRARY_PATH)" ./chibi-scheme$(EXE) tests/match-tests.scm
|
$(CHIBI) tests/match-tests.scm
|
||||||
|
|
||||||
test-loop: chibi-scheme$(EXE)
|
test-loop: chibi-scheme$(EXE)
|
||||||
LD_LIBRARY_PATH=".:$(LD_LIBRARY_PATH)" ./chibi-scheme$(EXE) tests/loop-tests.scm
|
$(CHIBI) tests/loop-tests.scm
|
||||||
|
|
||||||
test-sort: chibi-scheme$(EXE)
|
test-sort: chibi-scheme$(EXE) lib/srfi/33/bit$(SO)
|
||||||
LD_LIBRARY_PATH=".:$(LD_LIBRARY_PATH)" ./chibi-scheme$(EXE) tests/sort-tests.scm
|
$(CHIBI) tests/sort-tests.scm
|
||||||
|
|
||||||
test-records: chibi-scheme$(EXE)
|
test-records: chibi-scheme$(EXE)
|
||||||
LD_LIBRARY_PATH=".:$(LD_LIBRARY_PATH)" ./chibi-scheme$(EXE) tests/record-tests.scm
|
$(CHIBI) tests/record-tests.scm
|
||||||
|
|
||||||
test-weak: chibi-scheme$(EXE)
|
test-weak: chibi-scheme$(EXE) lib/chibi/weak$(SO)
|
||||||
LD_LIBRARY_PATH=".:$(LD_LIBRARY_PATH)" ./chibi-scheme$(EXE) tests/weak-tests.scm
|
$(CHIBI) tests/weak-tests.scm
|
||||||
|
|
||||||
test-unicode: chibi-scheme$(EXE)
|
test-unicode: chibi-scheme$(EXE)
|
||||||
LD_LIBRARY_PATH=".:$(LD_LIBRARY_PATH)" ./chibi-scheme$(EXE) tests/unicode-tests.scm
|
$(CHIBI) tests/unicode-tests.scm
|
||||||
|
|
||||||
test-libs: chibi-scheme$(EXE)
|
test-libs: chibi-scheme$(EXE)
|
||||||
LD_LIBRARY_PATH=".:$(LD_LIBRARY_PATH)" ./chibi-scheme$(EXE) tests/lib-tests.scm
|
$(CHIBI) tests/lib-tests.scm
|
||||||
|
|
||||||
test: chibi-scheme$(EXE)
|
test: chibi-scheme$(EXE)
|
||||||
LD_LIBRARY_PATH=".:$(LD_LIBRARY_PATH)" ./chibi-scheme$(EXE) tests/r5rs-tests.scm
|
$(CHIBI) tests/r5rs-tests.scm
|
||||||
|
|
||||||
install: chibi-scheme$(EXE)
|
install: chibi-scheme$(EXE)
|
||||||
mkdir -p $(DESTDIR)$(BINDIR)
|
mkdir -p $(DESTDIR)$(BINDIR)
|
||||||
|
|
|
@ -524,6 +524,7 @@ sexp sexp_scheduler (sexp ctx sexp_api_params(self, n), sexp root_thread) {
|
||||||
pollfds = sexp_global(res, SEXP_G_THREADS_POLL_FDS);
|
pollfds = sexp_global(res, SEXP_G_THREADS_POLL_FDS);
|
||||||
if (sexp_portp(sexp_context_event(res)) && sexp_pollfdsp(pollfds)) {
|
if (sexp_portp(sexp_context_event(res)) && sexp_pollfdsp(pollfds)) {
|
||||||
if ((k = poll(sexp_pollfds_fds(pollfds), sexp_pollfds_num_fds(pollfds), usecs/1000)) > 0) {
|
if ((k = poll(sexp_pollfds_fds(pollfds), sexp_pollfds_num_fds(pollfds), usecs/1000)) > 0) {
|
||||||
|
fprintf(stderr, "polling\n");
|
||||||
pfds = sexp_pollfds_fds(pollfds);
|
pfds = sexp_pollfds_fds(pollfds);
|
||||||
goto unblock_io_threads;
|
goto unblock_io_threads;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue