Files
pgmorbac/Makefile
T
2026-02-20 00:14:12 +01:00

80 lines
2.0 KiB
Makefile

# Makefile for morbac_pg PostgreSQL Extension
# Multi-OrBAC: Organization-Based Access Control
EXTENSION = morbac_pg
EXTVERSION = 1.0
DATA = $(EXTENSION)--$(EXTVERSION).sql
DOCS = README.md
# PostgreSQL extension build
PG_CONFIG = pg_config
PGXS := $(shell $(PG_CONFIG) --pgxs)
include $(PGXS)
# Custom targets
# Install extension in PostgreSQL
.PHONY: install
install:
@echo "Installing morbac_pg extension..."
$(MAKE) -f Makefile install
# Run tests
.PHONY: test
test:
@echo "Running morbac_pg tests..."
psql -f test_morbac.sql
# Run tests on specific database
.PHONY: test-db
test-db:
@if [ -z "$(DB)" ]; then \
echo "Usage: make test-db DB=your_database"; \
exit 1; \
fi
@echo "Running tests on database $(DB)..."
psql -d $(DB) -f test_morbac.sql
# Run tests in dedicated test database
.PHONY: test
test:
@echo "Creating test database morbac_test..."
-dropdb morbac_test 2>/dev/null || true
createdb morbac_test
@echo "Running tests..."
psql -d morbac_test -f test_morbac.sql
@echo ""
@echo "Tests completed. Database 'morbac_test' is available."
@echo "To explore: psql -d morbac_test"
@echo "To cleanup: dropdb morbac_test"
# Cleanup test database
.PHONY: cleanup
cleanup:
@echo "Dropping test database..."
-dropdb morbac_test 2>/dev/null && echo "Test database dropped." || echo "No test database found."
# Uninstall extension
.PHONY: uninstall
uninstall:
@echo "Uninstalling morbac_pg extension..."
$(MAKE) -f Makefile uninstall
# Show help
.PHONY: help
help:
@echo "morbac_pg Makefile targets:"
@echo ""
@echo " make install - Install extension in PostgreSQL"
@echo " make uninstall - Uninstall extension from PostgreSQL"
@echo " make test - Run tests on default database"
@echo " make test-db DB=name - Run tests on specified database"
@echo " make test - Create test DB, run tests, keep DB"
@echo " make cleanup - Drop test database"
@echo " make help - Show this help"
@echo ""
@echo "Quick start:"
@echo " make test # Run complete test in isolated database"
@echo ""