aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author_ov4 <ov4@ov4.org>2026-08-11 11:14:13 +0000
committer_ov4 <ov4@ov4.org>2026-08-11 11:14:13 +0000
commit79e61d7dbf5bf5e28fdae5e8a2aa40d9e80b96cb (patch)
tree7c5668857d78ab52b65b6b9dc69bbf2d89fe5f21
parent9d8cd99dfa156fa48801aa8bc7821c62d023fe80 (diff)
cc
-rw-r--r--.gitignore2
-rw-r--r--Makefile103
-rw-r--r--tsh.cc (renamed from tsh.c)0
3 files changed, 104 insertions, 1 deletions
diff --git a/.gitignore b/.gitignore
index 0ba1c63..f152158 100644
--- a/.gitignore
+++ b/.gitignore
@@ -48,7 +48,7 @@ build-*/
CMakeFiles/
CMakeCache.txt
cmake_install.cmake
-Makefile
+#Makefile
install_manifest.txt
compile_commands.json
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..7e3c0ea
--- /dev/null
+++ b/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
+
+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 *~
diff --git a/tsh.c b/tsh.cc
index 7c2ea8d..7c2ea8d 100644
--- a/tsh.c
+++ b/tsh.cc