Restore native test target
This commit is contained in:
@@ -88,6 +88,7 @@ LDLIBS ?= -lm
|
|||||||
HOSTCFLAGS ?= -O2
|
HOSTCFLAGS ?= -O2
|
||||||
|
|
||||||
STATIC_LIB := $(OUTDIR)/libfec.a
|
STATIC_LIB := $(OUTDIR)/libfec.a
|
||||||
|
TEST_EXEEXT := $(if $(filter windows,$(BUILD)),.exe)
|
||||||
|
|
||||||
SOURCES := \
|
SOURCES := \
|
||||||
cpu_mode_generic.c fec.c sim.c \
|
cpu_mode_generic.c fec.c sim.c \
|
||||||
@@ -105,19 +106,40 @@ SOURCES := \
|
|||||||
GENERATED_SOURCES := $(GENDIR)/ccsds_tab.c $(GENDIR)/ccsds_tal.c
|
GENERATED_SOURCES := $(GENDIR)/ccsds_tab.c $(GENDIR)/ccsds_tal.c
|
||||||
OBJECTS := $(addprefix $(OBJDIR)/,$(SOURCES:.c=.o)) \
|
OBJECTS := $(addprefix $(OBJDIR)/,$(SOURCES:.c=.o)) \
|
||||||
$(OBJDIR)/ccsds_tab.o $(OBJDIR)/ccsds_tal.o
|
$(OBJDIR)/ccsds_tab.o $(OBJDIR)/ccsds_tal.o
|
||||||
DEPS := $(OBJECTS:.o=.d)
|
TESTS := vtest27 vtest29 vtest615 rstest dtest sumsq_test peaktest
|
||||||
|
TEST_PROGRAMS := $(addprefix $(OUTDIR)/,$(addsuffix $(TEST_EXEEXT),$(TESTS)))
|
||||||
|
TEST_OBJECTS := $(addprefix $(OBJDIR)/,$(addsuffix .o,$(TESTS)))
|
||||||
|
DEPS := $(OBJECTS:.o=.d) $(TEST_OBJECTS:.o=.d)
|
||||||
|
|
||||||
GEN_CCSDS := $(TOOLDIR)/gen_ccsds$(if $(filter windows,$(HOST_OS)),.exe)
|
GEN_CCSDS := $(TOOLDIR)/gen_ccsds$(if $(filter windows,$(HOST_OS)),.exe)
|
||||||
GEN_TAL := $(TOOLDIR)/gen_ccsds_tal$(if $(filter windows,$(HOST_OS)),.exe)
|
GEN_TAL := $(TOOLDIR)/gen_ccsds_tal$(if $(filter windows,$(HOST_OS)),.exe)
|
||||||
HOST_GEN_OBJECTS := $(TOOLDIR)/gen_ccsds.o $(TOOLDIR)/init_rs_char.o
|
HOST_GEN_OBJECTS := $(TOOLDIR)/gen_ccsds.o $(TOOLDIR)/init_rs_char.o
|
||||||
|
|
||||||
.DEFAULT_GOAL := all
|
.DEFAULT_GOAL := all
|
||||||
.PHONY: all build linux macos windows static shared check-tools clean
|
.SECONDARY: $(TEST_OBJECTS)
|
||||||
|
.PHONY: all build linux macos windows static shared test check-tools clean
|
||||||
|
|
||||||
all: build
|
all: build
|
||||||
build: check-tools static shared
|
build: check-tools static shared
|
||||||
static: $(STATIC_LIB)
|
static: $(STATIC_LIB)
|
||||||
shared: $(SHARED_LIB)
|
shared: $(SHARED_LIB)
|
||||||
|
ifeq ($(BUILD),$(HOST_OS))
|
||||||
|
test: $(TEST_PROGRAMS)
|
||||||
|
$(OUTDIR)/vtest27$(TEST_EXEEXT) -e 3.0 -n 1000 -v
|
||||||
|
$(OUTDIR)/vtest27$(TEST_EXEEXT)
|
||||||
|
$(OUTDIR)/vtest29$(TEST_EXEEXT) -e 2.5 -n 1000 -v
|
||||||
|
$(OUTDIR)/vtest29$(TEST_EXEEXT)
|
||||||
|
$(OUTDIR)/vtest615$(TEST_EXEEXT) -e 1.0 -n 100 -v
|
||||||
|
$(OUTDIR)/vtest615$(TEST_EXEEXT)
|
||||||
|
$(OUTDIR)/rstest$(TEST_EXEEXT)
|
||||||
|
$(OUTDIR)/dtest$(TEST_EXEEXT)
|
||||||
|
$(OUTDIR)/sumsq_test$(TEST_EXEEXT)
|
||||||
|
$(OUTDIR)/peaktest$(TEST_EXEEXT)
|
||||||
|
else
|
||||||
|
test:
|
||||||
|
@echo "Error: tests can only run for the host platform ($(HOST_OS)); requested BUILD=$(BUILD)."
|
||||||
|
@exit 1
|
||||||
|
endif
|
||||||
|
|
||||||
# Explicit platform aliases are recursive so their toolchains and paths are
|
# Explicit platform aliases are recursive so their toolchains and paths are
|
||||||
# resolved with the requested BUILD value from the start.
|
# resolved with the requested BUILD value from the start.
|
||||||
@@ -148,6 +170,9 @@ $(STATIC_LIB): $(OBJECTS) | $(OUTDIR)
|
|||||||
$(SHARED_LIB): $(OBJECTS) | $(OUTDIR)
|
$(SHARED_LIB): $(OBJECTS) | $(OUTDIR)
|
||||||
$(CC) $(SHARED_FLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS)
|
$(CC) $(SHARED_FLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS)
|
||||||
|
|
||||||
|
$(OUTDIR)/%$(TEST_EXEEXT): $(OBJDIR)/%.o $(STATIC_LIB) | $(OUTDIR)
|
||||||
|
$(CC) $(LDFLAGS) -o $@ $^ $(LDLIBS)
|
||||||
|
|
||||||
$(OBJDIR)/%.o: %.c | $(OBJDIR)
|
$(OBJDIR)/%.o: %.c | $(OBJDIR)
|
||||||
$(CC) $(CPPFLAGS) $(CFLAGS) $(PIC_CFLAGS) -MMD -MP -I. -c -o $@ $<
|
$(CC) $(CPPFLAGS) $(CFLAGS) $(PIC_CFLAGS) -MMD -MP -I. -c -o $@ $<
|
||||||
|
|
||||||
|
|||||||
@@ -111,6 +111,10 @@ The resulting files are in lib/linux/, lib/macos/ or lib/windows/. Use
|
|||||||
`make static` or `make shared` to build only one library type, and `make clean`
|
`make static` or `make shared` to build only one library type, and `make clean`
|
||||||
to remove all generated files.
|
to remove all generated files.
|
||||||
|
|
||||||
|
To build and run the native test programs:
|
||||||
|
|
||||||
|
make test
|
||||||
|
|
||||||
Revision history:
|
Revision history:
|
||||||
Version 1.0 released 29 May 2001
|
Version 1.0 released 29 May 2001
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user