mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-18 16:27:34 +01:00
61 lines
1.6 KiB
Makefile
61 lines
1.6 KiB
Makefile
# Compare
|
|
|
|
products += $(wildcard ion/src/blackbox/library_*.o)
|
|
|
|
ion/src/blackbox/library_%.o: SFLAGS += -D EPSILON_LIB_PREFIX=$(*F)
|
|
ion/src/blackbox/library_%.o: ion/src/blackbox/library.cpp
|
|
@echo "CXX $@"
|
|
$(Q) $(CXX) $(SFLAGS) $(CXXFLAGS) -c $< -o $@
|
|
|
|
libepsilon_objs = $(filter-out $(addprefix ion/src/blackbox/,boot.o events.o),$(objs))
|
|
|
|
libepsilon_%.o: LDFLAGS += -exported_symbols_list ion/src/blackbox/lib_export_list.txt
|
|
libepsilon_%.o: $(libepsilon_objs) $(app_objs) $(app_image_objs) ion/src/blackbox/library_%.o
|
|
@echo "LD $@"
|
|
$(Q) $(LD) $^ $(LDFLAGS) -r -s -o $@
|
|
|
|
compare: ion/src/blackbox/compare.o
|
|
@echo "LD $@"
|
|
$(Q) $(LD) $^ libepsilon_first.o libepsilon_second.o $(LDFLAGS) -L. -o $@
|
|
|
|
# Integration tests
|
|
|
|
.PHONY: tests/%.run
|
|
tests/%.run: tests/%.esc epsilon.$(EXE)
|
|
@echo "RUN $<"
|
|
@./epsilon.$(EXE) --logAfter 0 < $< > /dev/null
|
|
|
|
.PHONY: tests/%.render
|
|
tests/%.render: tests/%.esc epsilon.$(EXE)
|
|
@echo "RENDER $<"
|
|
@rm -rf tests/$(*F)
|
|
@mkdir -p tests/$(*F)
|
|
@rm -f event*.png
|
|
@./epsilon.$(EXE) --logAfter 0 < $< > /dev/null
|
|
@mv event*.png tests/$(*F)
|
|
|
|
scenarios = $(wildcard tests/*.esc)
|
|
.PHONY: integration_tests
|
|
integration_tests: $(scenarios:.esc=.run)
|
|
|
|
# Fuzzing
|
|
.PHONY: epsilon_fuzz
|
|
ifeq ($(TOOLCHAIN),afl)
|
|
epsilon_fuzz: epsilon.$(EXE)
|
|
@echo "FUZZ $<"
|
|
@afl-fuzz -i tests -o afl ./epsilon.$(EXE)
|
|
else
|
|
epsilon_fuzz:
|
|
@echo "Fuzzing requires TOOLCHAIN=afl"
|
|
endif
|
|
|
|
.PHONY: compare_fuzz
|
|
ifeq ($(TOOLCHAIN),afl)
|
|
compare_fuzz: compare
|
|
@echo "FUZZ $<"
|
|
@afl-fuzz -t 3000 -i tests -o afl ./compare
|
|
else
|
|
compare_fuzz:
|
|
@echo "Fuzzing requires TOOLCHAIN=afl"
|
|
endif
|