80 lines
2.0 KiB
Makefile
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 ""
|