| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179 | # Binaries that should generate the same output every timeEXPECT_BINS=\	alloca \	args \	arpainet \	assert \	constructor \	ctype \	destructor \	dirent/scandir \	error \	fcntl/create \	fcntl/fcntl \	fnmatch \	libgen \	locale \	math \	netdb/netdb \	netdb/getaddrinfo \	regex \	select \	setjmp \	signal \	stdio/all \	stdio/buffer \	stdio/fgets \	stdio/fputs \	stdio/fread \	stdio/freopen \	stdio/fseek \	stdio/fwrite \	stdio/getc_unget \	stdio/mutex \	stdio/popen \	stdio/printf \	stdio/rename \	stdio/scanf \	stdio/setvbuf \	stdio/sprintf \	stdlib/a64l \	stdlib/atof \	stdlib/atoi \	stdlib/div \	stdlib/env \	stdlib/mkostemps \	stdlib/rand \	stdlib/strtod \	stdlib/strtol \	stdlib/strtoul \	stdlib/system \	string/mem \	string/strcat \	string/strchr \	string/strcpy \	string/strcspn \	string/strncmp \	string/strpbrk \	string/strrchr \	string/strspn \	string/strstr \	string/strtok \	string/strtok_r \	strings \	time/asctime \	time/gmtime \	time/localtime \	time/macros \	time/mktime \	time/strftime \	time/time \	unistd/access \	unistd/brk \	unistd/dup \	unistd/exec \	unistd/fchdir \	unistd/fsync \	unistd/ftruncate \	unistd/getopt \	unistd/getopt_long \	unistd/isatty \	unistd/pipe \	unistd/rmdir \	unistd/sleep \	unistd/write \	waitpid \	wchar/mbrtowc \	wchar/mbsrtowcs \	wchar/putwchar \	wchar/wcrtomb# Binaries that may generate varied outputBINS=\	$(EXPECT_BINS) \	dirent/main \	pwd \	stdlib/alloc \	stdlib/bsearch \	stdlib/mktemp \	stdlib/realpath \	sys_utsname/uname \	time/gettimeofday \	unistd/chdir \	unistd/getcwd \	unistd/gethostname \	unistd/getid \	unistd/link \	unistd/pathconf \	unistd/setid \	unistd/stat \	unistd/sysconf#	resource/getrusage#	time/times.PHONY: all $(BINS) clean run expected verifyall: $(BINS)$(BINS): %: bins/%clean:	rm -rf bins gen *.outrun: | ../sysroot all	for bin in $(BINS); \	do \		echo "# $${bin} #"; \		"bins/$${bin}" test args || exit $$?; \	doneexpected: | ../sysroot $(EXPECT_BINS)	rm -rf expected	mkdir -p expected	for bin in $(EXPECT_BINS); \	do \		echo "# $${bin} #"; \		mkdir -p expected/`dirname $${bin}`; \		"bins/$${bin}" test args > "expected/$${bin}.stdout" 2> "expected/$${bin}.stderr" || exit $$?; \	doneverify: | ../sysroot $(EXPECT_BINS)	rm -rf gen	mkdir -p gen	for bin in $(EXPECT_BINS); \	do \		echo "# $${bin} #"; \		mkdir -p gen/`dirname $${bin}`; \		"bins/$${bin}" test args > "gen/$${bin}.stdout" 2> "gen/$${bin}.stderr" || exit $$?; \		diff -u "gen/$${bin}.stdout" "expected/$${bin}.stdout" || exit $$?; \		diff -u "gen/$${bin}.stderr" "expected/$${bin}.stderr" || exit $$?; \	doneCFLAGS=\	-std=c11 \	-fno-builtin \	-fno-stack-protector \	-static \	-Wall \	-pedantic \	-g \	-nostdinc \	-nostdlib \	-isystem ../sysroot/include \	-I .HEADLIBS=\	../sysroot/lib/crt0.o \	../sysroot/lib/crti.oTAILLIBS=\	../sysroot/lib/crtn.o \	../sysroot/lib/libc.a \	../sysroot/lib/libm.a../sysroot:	make -C .. sysrootbins/%: %.c ../sysroot	mkdir -p "$$(dirname "$@")"	$(CC) $(CFLAGS) $(HEADLIBS) "$<" $(TAILLIBS) -o "$@"
 |