.PHONY: build run interactive clean test trace demo # Build Docker image build: docker build -t lab8-task1-prolog . # Run Prolog with family database (show basic info and exit) run: build docker run --rm -v $(PWD):/app lab8-task1-prolog swipl -g "consult('family.pl'), family_info, halt" # Interactive Prolog session interactive: build docker run -it --rm -v $(PWD):/app lab8-task1-prolog swipl family.pl # Run test queries test: build docker run --rm -v $(PWD):/app lab8-task1-prolog swipl -g "consult('family.pl'), consult('tests.pl'), run_tests, halt" # Run with tracing enabled trace: build docker run --rm -v $(PWD):/app lab8-task1-prolog swipl -g "consult('family.pl'), trace, men, notrace, halt" # Show basic info about task1 info: build docker run --rm -v $(PWD):/app lab8-task1-prolog swipl -g "consult('family.pl'), write('=== TASK1 INFO ==='), nl, family_info, show_family, halt" # Run demo demo: build docker run --rm -v $(PWD):/app lab8-task1-prolog swipl -g "consult('family.pl'), consult('demo.pl'), demo, halt" # Clean Docker images clean: docker rmi lab8-task1-prolog || true # Help help: @echo "Available commands for lab8 task1:" @echo " make build - Build Docker image" @echo " make run - Run and show basic family info" @echo " make info - Show detailed task1 information" @echo " make demo - Run demonstration queries" @echo " make test - Run test queries" @echo " make interactive - Start interactive Prolog session" @echo " make trace - Run with tracing enabled" @echo " make clean - Clean Docker images"