CFLAGS = -Wall

# Stack Protection deaktivieren, sonst klappt's nicht
CFLAGS += -fno-stack-protector

# ... oder explizit aktivieren, um ihren Nutzen zu zeigen
#CFLAGS += -fstack-protector

# Einige Systeme (z.B. Debian) aktivieren zusätzlich ASLR und PIE, wodurch die
# Adresse von start_shell zufällig wird -> ebenfalls ausschalten
CFLAGS += -no-pie

# Alternativ: PIE aktivieren, so dass die Demo nicht mehr funktioniert
#CFLAGS += -pie

login: login.c Makefile
	gcc ${CFLAGS} -o login login.c -lcrypt

setuid_root: login
	sudo chown root:root login
	sudo chmod 4755 login

clean:
	rm -f login

.PHONY: setuid_root clean
