57 lines
1.4 KiB
Makefile
57 lines
1.4 KiB
Makefile
.PHONY: all clean test c t netsim-shell pat upload submit ccis-build debug-build release-build
|
|
|
|
SOURCES=$(shell git ls-tree -r master --name-only)
|
|
CCIS_TEAM_NAME=hash-lang-uwu
|
|
CCIS_PROJECT_NAME=project3
|
|
CCIS_SERVER=login.ccs.neu.edu
|
|
CCIS_PATH=CS3700/$(CCIS_PROJECT_NAME)/
|
|
CCIS_FMT_CHECK=/course/cs3700sp20/code/project3/project3_format_check.py
|
|
CCIS_TURNIN=/course/cs3700sp20/bin/turnin
|
|
|
|
all: release-build
|
|
|
|
debug-build:
|
|
cargo build
|
|
cp ./target/debug/hptp-recv ./3700recv
|
|
cp ./target/debug/hptp-send ./3700send
|
|
|
|
release-build:
|
|
cargo build --release
|
|
cp ./target/release/hptp-recv ./3700recv
|
|
cp ./target/release/hptp-send ./3700send
|
|
|
|
clean:
|
|
cargo clean
|
|
rm -f 3700send 3700recv
|
|
|
|
test:
|
|
cargo test
|
|
|
|
c: clean
|
|
|
|
t: test
|
|
|
|
.netsim:
|
|
mkdir $@
|
|
curl -Ss https://course.ccs.neu.edu/cs3700sp20/archive/tcp-sim.tgz | tar xzf - -C $@
|
|
sed -i '/.usr.bin.sudo/d' .netsim/netsim
|
|
cd .netsim; ln -s ../3700send .; ln -s ../3700recv .
|
|
cd /usr/include; h2ph -d $(HOME)/perl5/lib/perl5/ -a sys/syscall.h
|
|
|
|
netsim-shell: .netsim
|
|
cp scripts/grade scripts/grade2 .netsim/
|
|
./scripts/create-net-ns.sh
|
|
|
|
pat:
|
|
cat scripts/data.txt
|
|
|
|
upload: $(SOURCES)
|
|
@rsync -avzzR --progress $^ $(CCIS_SERVER):$(CCIS_PATH)
|
|
@ssh $(CCIS_SERVER) -t -- "tput bold; $(CCIS_FMT_CHECK) $(CCIS_PATH); tput sgr0"
|
|
|
|
ccis-build: release-build
|
|
rm -rf target/
|
|
|
|
submit: upload
|
|
ssh $(CCIS_SERVER) -t -- "cd $(CCIS_PATH); make ccis-build; $(CCIS_TURNIN) $(CCIS_PROJECT_NAME) ."
|