You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

36 lines
1.4 KiB

.PHONY: build run interactive clean test trace demo info
build:
docker build -t lab9-task4-prolog .
run: build
docker run --rm -v $(PWD):/app lab9-task4-prolog swipl -g "consult('predicates.pl'), write('=== LAB9 TASK4 PREDICATES ==='), nl, task_info, halt"
interactive: build
docker run -it --rm -v $(PWD):/app lab9-task4-prolog swipl predicates.pl
test: build
docker run --rm -v $(PWD):/app lab9-task4-prolog swipl -g "consult('predicates.pl'), consult('tests.pl'), run_tests, halt"
trace: build
docker run --rm -v $(PWD):/app lab9-task4-prolog swipl -g "consult('predicates.pl'), trace, solve_puzzle(Solution), write(Solution), notrace, halt"
info: build
docker run --rm -v $(PWD):/app lab9-task4-prolog swipl -g "consult('predicates.pl'), write('=== TASK4 INFO ==='), nl, task_info, show_examples, halt"
demo: build
docker run --rm -v $(PWD):/app lab9-task4-prolog swipl -g "consult('predicates.pl'), consult('demo.pl'), demo, halt"
clean:
docker rmi lab9-task4-prolog || true
help:
@echo "Available commands for lab9 task4:"
@echo " make build - Build Docker image"
@echo " make run - Run and show basic predicates info"
@echo " make info - Show detailed task4 information"
@echo " make demo - Run demonstration"
@echo " make test - Run tests"
@echo " make interactive - Start interactive Prolog session"
@echo " make trace - Run solver with tracing"
@echo " make clean - Clean Docker images"