You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.3 KiB
Makefile
49 lines
1.3 KiB
Makefile
# This Makefile requires GNU make, sometimes available as gmake.
|
|
#
|
|
# A simple test suite for libmseed.
|
|
# See README for description.
|
|
#
|
|
# Build environment can be configured the following
|
|
# environment variables:
|
|
# CC : Specify the C compiler to use
|
|
# CFLAGS : Specify compiler options to use
|
|
|
|
# Required compiler parameters
|
|
CFLAGS += -I.. -I.
|
|
|
|
LDFLAGS += -L..
|
|
LDLIBS := -lmseed $(LDLIBS)
|
|
|
|
# Source code from example programs
|
|
EXAMPLE_SRCS := $(sort $(wildcard lm_*.c))
|
|
EXAMPLE_BINS := $(EXAMPLE_SRCS:%.c=%)
|
|
|
|
# Source code for tests
|
|
TEST_SRCS := $(sort $(wildcard test-*.c))
|
|
TEST_RUNNER := test-runner
|
|
|
|
# ASCII color coding for test results, green for PASSED and red for FAILED
|
|
PASSED := \033[0;32mPASSED\033[0m
|
|
FAILED := \033[0;31mFAILED\033[0m
|
|
|
|
test all: $(EXAMPLE_BINS) $(TEST_RUNNER) runtests
|
|
|
|
# Build example programs and check for executables
|
|
$(EXAMPLE_BINS) : % : %.c
|
|
@$(CC) $(CFLAGS) -o $@ $< $(LDFLAGS) $(LDLIBS); exit 0;
|
|
@if test -x $@; \
|
|
then printf '$(PASSED) Building $<\n'; \
|
|
else printf '$(FAILED) Building $<\n'; exit 1; \
|
|
fi
|
|
|
|
# Build tests
|
|
.PHONY: $(TEST_RUNNER)
|
|
$(TEST_RUNNER):
|
|
$(CC) $(CFLAGS) -o $@ $(TEST_SRCS) $(LDFLAGS) $(LDLIBS) -Wno-unused-but-set-variable
|
|
|
|
# Execute tests
|
|
runtests: $(TEST_RUNNER)
|
|
@./$(TEST_RUNNER)
|
|
|
|
clean:
|
|
@rm -rf $(EXAMPLE_BINS) $(TEST_RUNNER) testdata-* *.dSYM
|