aboutsummaryrefslogtreecommitdiff
path: root/shlab-handout/Makefile
diff options
context:
space:
mode:
author_ov4 <ov4@ov4.org>2026-10-23 16:52:27 +0000
committer_ov4 <ov4@ov4.org>2026-10-23 16:52:27 +0000
commitfeab4e39d18f97bf1e3365290204a4195d15f2cd (patch)
tree8f1d53c2b2c392e777e5af726abb32a1ee2d27a7 /shlab-handout/Makefile
parent9cdeda34930cba606725ce1497b72e006e1b1c54 (diff)
parent1ffed57168ffaa8bec0dfda56b4b0b8dc957b11a (diff)
Merge tiny-shell history into shlab-handout directory
Diffstat (limited to 'shlab-handout/Makefile')
-rw-r--r--shlab-handout/Makefile103
1 files changed, 103 insertions, 0 deletions
diff --git a/shlab-handout/Makefile b/shlab-handout/Makefile
new file mode 100644
index 0000000..051dbaa
--- /dev/null
+++ b/shlab-handout/Makefile
@@ -0,0 +1,103 @@
+# Makefile for the CS:APP Shell Lab
+
+TEAM = NOBODY
+VERSION = 1
+HANDINDIR = /afs/cs/academic/class/15213-f02/L5/handin
+DRIVER = ./sdriver.pl
+TSH = ./tsh
+TSHREF = ./tshref
+TSHARGS = "-p"
+CXX = g++
+CXXFLAGS = -std=c++17 -Wall -Wno-write-strings -O2
+CC = gcc
+CFLAGS = -Wall -O2
+FILES = $(TSH) ./myspin ./mysplit ./mystop ./myint ./output
+
+all: $(FILES)
+
+$(TSH): tsh.cc
+ $(CXX) $(CXXFLAGS) -o $@ $<
+
+##################
+# Handin your work
+##################
+handin:
+ cp tsh.cc $(HANDINDIR)/$(TEAM)-$(VERSION)-tsh.cc
+
+
+##################
+# Regression tests
+##################
+
+# Run tests using the student's shell program
+test01:
+ $(DRIVER) -t trace01.txt -s $(TSH) -a $(TSHARGS)
+test02:
+ $(DRIVER) -t trace02.txt -s $(TSH) -a $(TSHARGS)
+test03:
+ $(DRIVER) -t trace03.txt -s $(TSH) -a $(TSHARGS)
+test04:
+ $(DRIVER) -t trace04.txt -s $(TSH) -a $(TSHARGS)
+test05:
+ $(DRIVER) -t trace05.txt -s $(TSH) -a $(TSHARGS)
+test06:
+ $(DRIVER) -t trace06.txt -s $(TSH) -a $(TSHARGS)
+test07:
+ $(DRIVER) -t trace07.txt -s $(TSH) -a $(TSHARGS)
+test08:
+ $(DRIVER) -t trace08.txt -s $(TSH) -a $(TSHARGS)
+test09:
+ $(DRIVER) -t trace09.txt -s $(TSH) -a $(TSHARGS)
+test10:
+ $(DRIVER) -t trace10.txt -s $(TSH) -a $(TSHARGS)
+test11:
+ $(DRIVER) -t trace11.txt -s $(TSH) -a $(TSHARGS)
+test12:
+ $(DRIVER) -t trace12.txt -s $(TSH) -a $(TSHARGS)
+test13:
+ $(DRIVER) -t trace13.txt -s $(TSH) -a $(TSHARGS)
+test14:
+ $(DRIVER) -t trace14.txt -s $(TSH) -a $(TSHARGS)
+test15:
+ $(DRIVER) -t trace15.txt -s $(TSH) -a $(TSHARGS)
+test16:
+ $(DRIVER) -t trace16.txt -s $(TSH) -a $(TSHARGS)
+
+# Run the tests using the reference shell program
+rtest01:
+ $(DRIVER) -t trace01.txt -s $(TSHREF) -a $(TSHARGS)
+rtest02:
+ $(DRIVER) -t trace02.txt -s $(TSHREF) -a $(TSHARGS)
+rtest03:
+ $(DRIVER) -t trace03.txt -s $(TSHREF) -a $(TSHARGS)
+rtest04:
+ $(DRIVER) -t trace04.txt -s $(TSHREF) -a $(TSHARGS)
+rtest05:
+ $(DRIVER) -t trace05.txt -s $(TSHREF) -a $(TSHARGS)
+rtest06:
+ $(DRIVER) -t trace06.txt -s $(TSHREF) -a $(TSHARGS)
+rtest07:
+ $(DRIVER) -t trace07.txt -s $(TSHREF) -a $(TSHARGS)
+rtest08:
+ $(DRIVER) -t trace08.txt -s $(TSHREF) -a $(TSHARGS)
+rtest09:
+ $(DRIVER) -t trace09.txt -s $(TSHREF) -a $(TSHARGS)
+rtest10:
+ $(DRIVER) -t trace10.txt -s $(TSHREF) -a $(TSHARGS)
+rtest11:
+ $(DRIVER) -t trace11.txt -s $(TSHREF) -a $(TSHARGS)
+rtest12:
+ $(DRIVER) -t trace12.txt -s $(TSHREF) -a $(TSHARGS)
+rtest13:
+ $(DRIVER) -t trace13.txt -s $(TSHREF) -a $(TSHARGS)
+rtest14:
+ $(DRIVER) -t trace14.txt -s $(TSHREF) -a $(TSHARGS)
+rtest15:
+ $(DRIVER) -t trace15.txt -s $(TSHREF) -a $(TSHARGS)
+rtest16:
+ $(DRIVER) -t trace16.txt -s $(TSHREF) -a $(TSHARGS)
+
+
+# clean up
+clean:
+ rm -f $(FILES) *.o *~