From 53f7b67503e699ae62e9a4554849ade4594d0cba Mon Sep 17 00:00:00 2001
From: Toby Murray <toby.murray@unimelb.edu.au>
Date: Wed, 11 Sep 2019 13:47:17 +1000
Subject: [PATCH] restructure to more closely fit assignment 1 for tourney

---
 Makefile                                     | 16 +++++++++-------
 src/{ => include}/debug.h                    |  0
 src/{ => original}/passbook.c                |  0
 src/{passbook-vuln-1.c => vuln-1/passbook.c} |  0
 src/{passbook-vuln-2.c => vuln-2/passbook.c} |  0
 src/{passbook-vuln-3.c => vuln-3/passbook.c} |  0
 src/{passbook-vuln-4.c => vuln-4/passbook.c} |  0
 src/{passbook-vuln-5.c => vuln-5/passbook.c} |  0
 8 files changed, 9 insertions(+), 7 deletions(-)
 rename src/{ => include}/debug.h (100%)
 rename src/{ => original}/passbook.c (100%)
 rename src/{passbook-vuln-1.c => vuln-1/passbook.c} (100%)
 rename src/{passbook-vuln-2.c => vuln-2/passbook.c} (100%)
 rename src/{passbook-vuln-3.c => vuln-3/passbook.c} (100%)
 rename src/{passbook-vuln-4.c => vuln-4/passbook.c} (100%)
 rename src/{passbook-vuln-5.c => vuln-5/passbook.c} (100%)

diff --git a/Makefile b/Makefile
index f22ad6e..37e475b 100644
--- a/Makefile
+++ b/Makefile
@@ -2,19 +2,21 @@ BINARY=passbook
 
 SRC=src
 BIN=bin
+INCLUDE=$(SRC)/include
 
-VULNS=vuln-1 vuln-2 vuln-3 vuln-4 vuln-5
+VERSIONS=original vuln-1 vuln-2 vuln-3 vuln-4 vuln-5
 
-VBINARIES=$(BINARY) $(VULNS:%=${BINARY}-%)
+VBINARIES=$(VERSIONS:%=%/$(BINARY))
+BIN_TARGETS=$(VBINARIES:%=%-san) $(VBINARIES:%=%-fuzz) $(VBINARIES:%=%-cov)
 
-BIN_TARGETS=$(VBINARIES) $(VBINARIES:%=%-san) $(VBINARIES:%=%-fuzz) $(VBINARIES:%=%-cov)
+BIN_DIRS=$(BIN) $(VERSIONS:%=$(BIN)/%)
 
 TARGETS=$(BIN_TARGETS:%=$(BIN)/%)
 
-HEADERS=$(wildcard $(SRC)/*.h)
+HEADERS=$(wildcard $(INCLUDE)/*.h)
 
 # allow the user to provide additional CFLAGS by doing e.g. CFLAGS=blah make
-CFLAGS += -W -Wall -Wpedantic -Wno-language-extension-token -g
+CFLAGS += -W -Wall -Wpedantic -Wno-language-extension-token -g -I$(INCLUDE)
 
 # allow the user to override what clang we use by doing e.g. CLANG=blah make
 CLANG ?= clang-6.0
@@ -25,9 +27,9 @@ FUZZ_FLAGS ?= -DPASSBOOK_LIBFUZZER -fsanitize=fuzzer,address -fno-omit-frame-poi
 NO_STRICT_OVERFLOW_CFLAGS ?= -fwrapv -fno-strict-overflow -Wstrict-overflow
 COV_FLAGS ?= -fprofile-instr-generate -fcoverage-mapping -DPASSBOOK_FUZZ
 
-default: $(BIN) $(TARGETS)
+default: $(BIN_DIRS) $(TARGETS)
 
-$(BIN):
+$(BIN_DIRS):
 	mkdir -p $@
 
 .PHONY: default
diff --git a/src/debug.h b/src/include/debug.h
similarity index 100%
rename from src/debug.h
rename to src/include/debug.h
diff --git a/src/passbook.c b/src/original/passbook.c
similarity index 100%
rename from src/passbook.c
rename to src/original/passbook.c
diff --git a/src/passbook-vuln-1.c b/src/vuln-1/passbook.c
similarity index 100%
rename from src/passbook-vuln-1.c
rename to src/vuln-1/passbook.c
diff --git a/src/passbook-vuln-2.c b/src/vuln-2/passbook.c
similarity index 100%
rename from src/passbook-vuln-2.c
rename to src/vuln-2/passbook.c
diff --git a/src/passbook-vuln-3.c b/src/vuln-3/passbook.c
similarity index 100%
rename from src/passbook-vuln-3.c
rename to src/vuln-3/passbook.c
diff --git a/src/passbook-vuln-4.c b/src/vuln-4/passbook.c
similarity index 100%
rename from src/passbook-vuln-4.c
rename to src/vuln-4/passbook.c
diff --git a/src/passbook-vuln-5.c b/src/vuln-5/passbook.c
similarity index 100%
rename from src/passbook-vuln-5.c
rename to src/vuln-5/passbook.c
-- 
GitLab