# Makefile - Don Yang (uguu.org)
#
# 2014-03-02

prog = neptune.pl
ifeq ($(OSTYPE),cygwin)
find_max_path = find_max_path.exe
else
find_max_path = find_max_path
endif

$(find_max_path): path.cc
	g++ -O3 -Wall -Werror -fno-exceptions -Wl,-O1 $< -o $@

test: test_zero test_one test_short test_long

test_zero: $(prog)
	perl $(prog) 0 \
	| perl | perl | perl | perl | perl \
	| perl | perl | perl | perl | perl \
	| perl | perl | perl | perl | perl \
	| perl | perl | perl | perl | perl \
	| perl | perl | perl | perl | python \
	| python | python | python | python | python \
	| python

test_one: $(prog)
	perl $(prog) 1 \
	| python | python | python | python | python \
	| python | python | perl | bash | perl \
	| perl | bash | perl | bash | perl \
	| bash | perl | bash | perl | perl \
	| python | ruby | python | python | python \
	| perl | bash | perl | python | perl \
	| perl | python | perl | perl | perl \
	| perl | bash | perl | bash | bash \
	| perl | python | perl | bash | bash \
	| bash | perl | python | perl | python \
	| perl | python | perl | perl | perl \
	| python | ruby | python | perl

test_short: $(prog)
	perl $(prog) 5221 \
	| perl | perl | perl | python | perl \
	| perl | perl | perl | perl | perl \
	| bash | perl | python | perl | python \
	| perl | perl | perl | perl | perl \
	| perl | perl | perl | python | python \
	| ruby | python | perl | perl | python \
	| perl | python | perl | perl | perl

test_long: $(prog)
	perl $(prog) 1136163692 \
	| perl | perl | perl | perl | perl \
	| perl | perl | perl | perl | perl \
	| python | ruby | ruby | ruby | ruby \
	| ruby | python | ruby | bash | ruby \
	| python | python | ruby | ruby | bash \
	| perl | bash | ruby | ruby | python \
	| python | python | python | python | perl \
	| python | perl | perl | perl | bash \
	| perl | python | perl | perl | bash \
	| perl | python | perl | bash | perl \
	| python | perl | bash | bash | ruby \
	| ruby | ruby | bash | ruby | python \
	| ruby | bash | ruby | python | ruby \
	| ruby | ruby | ruby | bash | perl \
	| perl | perl | bash | perl | perl \
	| bash | perl | python | perl | bash \
	| perl | perl | perl | perl | bash \
	| perl | python | perl | bash | bash \
	| perl | python | python | perl | python \
	| python | perl | bash | bash | bash \
	| ruby | bash | perl | perl | perl \
	| perl | perl | python | ruby | ruby \
	| ruby | python | python | python | python \
	| ruby | python | ruby | bash | ruby \
	| ruby | ruby | ruby | python | python \
	| perl | bash | perl | python | perl \
	| perl | perl | perl | bash | perl \
	| bash | bash | perl | python | python \
	| perl | bash | perl | perl | bash \
	| ruby | ruby | bash | ruby | ruby \
	| bash | perl | perl | perl | perl \
	| bash | ruby | bash | perl | perl \
	| python | python | python | python | python \
	| python | ruby | ruby | python | perl \
	| perl

clean:
	-rm -f $(find_max_path)

backup:
	-rm -f backup.tar.gz
	tar cf backup.tar *.pl spawn.* b*.sh *.cc *.txt Makefile
	gzip -9 backup.tar
