# Makefile
# Kazuya Sakai, Ph.D
# Tokyo Metropolitan University
# June 1, 2018

CC     = gcc
SRC1 = sec_bypass1
SRC2 = sec_bypass2
SRC3 = ex_nonull
OPTION = -fno-stack-protector -z execstack -g
FILE   = Makefile *.c *.txt
DIR	= secure_code

all: bypass1 bypass2 nonull

bypass1:
	$(CC) $(OPTION) -o $(SRC1) $(SRC1).c

bypass2:
	$(CC) $(OPTION) -o $(SRC2) $(SRC2).c

nonull:
	$(CC) -o $(SRC3) $(SRC3).c

pkg:
	# directory
	if [ ! -d $(DIR) ]; then \
		mkdir $(DIR); \
	fi
	
	# copy files
	for var in $(FILE); do\
		cp $$var $(DIR)/$$var; \
	done \
	
	# tar.gz
	tar zcvf $(DIR).tar.gz $(DIR)
	rm -r $(DIR)

clean:
	rm $(SRC1) $(SRC2)  $(SRC3)

