#!/usr/bin/make -f
# OBS-compatible debian/rules for nginx-waf
# Uses vendored nginx headers

VENDOR_DIR = vendor/nginx-1.27.0
MODULE_NAME = ngx_http_waf_module

%:
	dh $@

override_dh_auto_configure:
	# No configure step - using pre-generated vendored headers
	@echo "Using vendored nginx headers from $(VENDOR_DIR)"

override_dh_auto_build:
	# Direct gcc compilation using vendored headers
	# nginx-waf has no external library dependencies
	gcc -shared -fPIC -o $(MODULE_NAME).so \
		-I$(VENDOR_DIR)/src/core \
		-I$(VENDOR_DIR)/src/event \
		-I$(VENDOR_DIR)/src/event/modules \
		-I$(VENDOR_DIR)/src/http \
		-I$(VENDOR_DIR)/src/http/modules \
		-I$(VENDOR_DIR)/src/os/unix \
		-I$(VENDOR_DIR)/objs \
		-DNGX_COMPAT \
		src/$(MODULE_NAME).c

override_dh_auto_install:
	# Install the module
	mkdir -p debian/nginx-waf/usr/lib/nginx/modules
	install -m 0644 $(MODULE_NAME).so debian/nginx-waf/usr/lib/nginx/modules/
	
	# Install documentation
	mkdir -p debian/nginx-waf/usr/share/doc/nginx-waf
	install -m 0644 README.md debian/nginx-waf/usr/share/doc/nginx-waf/
	install -m 0644 conf/examples.conf debian/nginx-waf/usr/share/doc/nginx-waf/
	
	# Install example lists
	mkdir -p debian/nginx-waf/usr/share/doc/nginx-waf/lists
	install -m 0644 lists/example-blacklist.txt debian/nginx-waf/usr/share/doc/nginx-waf/lists/
	install -m 0644 lists/example-whitelist.txt debian/nginx-waf/usr/share/doc/nginx-waf/lists/

override_dh_auto_test:
	# Skip tests (requires nginx runtime)
	@echo "Skipping tests"

override_dh_auto_clean:
	rm -f $(MODULE_NAME).so
	dh_auto_clean
