VULN_USERNAME ?= \"admin\"
VULN_PASSWORD ?= \"admin\"
VULN_INIT_SESSION_ID ?= 314
VULN_GETSESSIONID ?= get_session_id_27912

CC=gcc
LINK=gcc
CFLAGS=-c -O2

.PHONY: build
build: vuln.o pwn.o checker.o
	$(LINK) pwn.o vuln.o checker.o -o checker

.PHONY: pwn.o
pwn.o:
	$(CC) -c $(CFLAGS) solution.c -o pwn.o

.PHONY: vuln.o
vuln.o:
	$(CC) -c $(CFLAGS) -DVULN_INIT_SESSION_ID=$(VULN_INIT_SESSION_ID) -DVULN_USERNAME=$(VULN_USERNAME) -DVULN_PASSWORD=$(VULN_PASSWORD) -DVULN_GETSESSIONID=$(VULN_GETSESSIONID) vuln.c -o vuln.o

.PHONY: checker.o
checker.o:
	$(CC) -c $(CFLAGS) -DVULN_GETSESSIONID=$(VULN_GETSESSIONID) checker.c -o checker.o

.PHONY: test
test: build
	./checker

.PHONY: clean
clean:
	rm -f pwn.o vuln.o checker.o checker
