update dijk & bsb
This commit is contained in:
16
Makefile
16
Makefile
@@ -21,7 +21,7 @@ BUILD_OUT_B_DIR = $(BUILD_DIR)/$(SOL_B)_out
|
||||
|
||||
DIRS = $(BUILD_DIR) $(BUILD_TARGET_DIR) $(BUILD_GEN_DIR) $(BUILD_VAL_DIR) $(BUILD_CHK_DIR) $(LOG_DIR) $(BUILD_IN_DIR) $(BUILD_OUT_A_DIR) $(BUILD_OUT_B_DIR)
|
||||
|
||||
CXXFLAGS = -Wall -O2 -std=c++2a -I$(INC_DIR)
|
||||
CXXFLAGS = -Wall -O2 -std=c++2a
|
||||
GENFLAGS = -N $(N) -M $(M) -pm $(pm)
|
||||
|
||||
SRC_MAIN_FILES = $(wildcard $(SRC_DIR)/*/main.cpp)
|
||||
@@ -65,15 +65,15 @@ $(BUILD_TARGET_DIR)/%: $(SRC_DIR)/%/main.cpp | $(BUILD_TARGET_DIR)
|
||||
|
||||
$(BUILD_GEN_DIR)/%: $(GEN_DIR)/%.cpp | $(BUILD_GEN_DIR)
|
||||
@echo "Compiling Generator $< -> $@"
|
||||
$(CXX) $(CXXFLAGS) -o $@ $<
|
||||
$(CXX) $(CXXFLAGS) -I$(INC_DIR) -o $@ $<
|
||||
|
||||
$(BUILD_VAL_DIR)/%: $(VAL_DIR)/%.cpp | $(BUILD_VAL_DIR)
|
||||
@echo "Compiling Validator $< -> $@"
|
||||
$(CXX) $(CXXFLAGS) -o $@ $<
|
||||
$(CXX) $(CXXFLAGS) -I$(INC_DIR) -o $@ $<
|
||||
|
||||
$(BUILD_CHK_DIR)/%: $(CHK_DIR)/%.cpp | $(BUILD_CHK_DIR)
|
||||
@echo "Compiling Checker $< -> $@"
|
||||
$(CXX) $(CXXFLAGS) -o $@ $<
|
||||
$(CXX) $(CXXFLAGS) -I$(INC_DIR) -o $@ $<
|
||||
|
||||
.PRECIOUS: $(BUILD_IN_DIR)/input%
|
||||
$(BUILD_IN_DIR)/input%: $(GEN_TO_RUN) | $(BUILD_IN_DIR)
|
||||
@@ -148,6 +148,7 @@ else
|
||||
@echo "OK: ID=$(id) outputs match!"
|
||||
endif
|
||||
|
||||
|
||||
.PHONY: test
|
||||
test: all $(LOG_DIR) $(BUILD_OUT_A_DIR) $(BUILD_OUT_B_DIR)
|
||||
ifeq ($(id),)
|
||||
@@ -155,7 +156,7 @@ ifeq ($(id),)
|
||||
@echo "--- Using Generator [$(gen)] (N=$(N), M=$(M)) ---"
|
||||
@LOG_FILE=$(LOG_DIR)/test_run_$$(date +%Y%m%d_%H%M%S).log; \
|
||||
echo "--- Logging to $${LOG_FILE} ---"; \
|
||||
script -q /dev/null /bin/bash -c ' \
|
||||
script -q -c ' \
|
||||
set -o pipefail; \
|
||||
for i in {1..$(TEST_COUNT)}; do \
|
||||
IN_FILE_LOOP=$(BUILD_IN_DIR)/input$$(printf "%05d" $$i); \
|
||||
@@ -179,7 +180,7 @@ ifeq ($(id),)
|
||||
( ./$(CHK_EXE) $$IN_FILE_LOOP $$OUT_A_FILE_LOOP $$OUT_B_FILE_LOOP ) 2>&1 || { printf "\nWA! (Input: $$IN_FILE_LOOP)\n"; echo "Input saved to $$IN_FILE_LOOP"; exit 1; }; \
|
||||
done; \
|
||||
echo "--- All $(TEST_COUNT) tests passed! ---"; \
|
||||
' | tee $${LOG_FILE}; \
|
||||
' /dev/null | tee $${LOG_FILE}; \
|
||||
if [ $${PIPESTATUS[0]} -ne 0 ]; then \
|
||||
printf "\n--- TESTS FAILED! See %s ---\n" "$${LOG_FILE}"; \
|
||||
exit 1; \
|
||||
@@ -189,9 +190,6 @@ else
|
||||
@$(MAKE) --no-print-directory check id=$(id) gen=$(gen) SOL_A=$(SOL_A) SOL_B=$(SOL_B) N=$(N) M=$(M)
|
||||
endif
|
||||
|
||||
|
||||
|
||||
|
||||
.PHONY: bench
|
||||
bench: all
|
||||
ifeq ($(id),)
|
||||
|
||||
Reference in New Issue
Block a user