# Makefile — Bacula Mock External Test Client
#
# Build:  make
# Clean:  make clean
# Static: make static   (fully self-contained binary)

CC      ?= gcc
CFLAGS  ?= -O2 -Wall -Wextra -Wpedantic -std=c11
LDFLAGS ?=
TARGET   = bacula_mock_test
SRC      = bacula_mock_test.c

.PHONY: all clean static install help

all: $(TARGET)

$(TARGET): $(SRC)
	$(CC) $(CFLAGS) -o $@ $< $(LDFLAGS)
	@echo ""
	@echo "  ✓ Build successful: ./$(TARGET)"
	@echo "  Run: ./$(TARGET) --help"
	@echo ""

static: $(SRC)
	$(CC) $(CFLAGS) -static -o $(TARGET) $< $(LDFLAGS)
	@echo ""
	@echo "  ✓ Static build: ./$(TARGET) (fully self-contained)"
	@echo ""

clean:
	rm -f $(TARGET)

install: $(TARGET)
	install -m 755 $(TARGET) /usr/local/bin/

help:
	@echo "Targets:"
	@echo "  make          — Build binary (dynamic linking)"
	@echo "  make static   — Build static binary (no dependencies)"
	@echo "  make clean    — Remove binary"
	@echo "  make install  — Install to /usr/local/bin"
