Annotation For Makefile

Origin for each line in Makefile from check-in 36d0805e0e:

0ffa676110 2019-12-02    1: TCLSH_NATIVE  := tclsh
0ffa676110 2019-12-02    2: TCL_CONFIG_SH_DIR := $(shell echo 'puts [tcl::pkgconfig get libdir,runtime]' | $(TCLSH_NATIVE))
0ffa676110 2019-12-02    3: TCL_CONFIG_SH := $(TCL_CONFIG_SH_DIR)/tclConfig.sh
2139fe19a8 2019-09-18    4: XVFS_ROOT_MOUNTPOINT := //xvfs:/
2139fe19a8 2019-09-18    5: CPPFLAGS      := -DXVFS_ROOT_MOUNTPOINT='"$(XVFS_ROOT_MOUNTPOINT)"' -I. -DUSE_TCL_STUBS=1 -DXVFS_DEBUG $(shell . "${TCL_CONFIG_SH}" && echo "$${TCL_INCLUDE_SPEC}") $(XVFS_ADD_CPPFLAGS)
7225016a7e 2019-09-17    6: CFLAGS        := -fPIC -g3 -ggdb3 -Wall $(XVFS_ADD_CFLAGS)
55084356ba 2019-09-17    7: LDFLAGS       := $(XVFS_ADD_LDFLAGS)
55084356ba 2019-09-17    8: LIBS          := $(shell . "${TCL_CONFIG_SH}" && echo "$${TCL_STUB_LIB_SPEC}")
55084356ba 2019-09-17    9: TCLSH         := tclsh
55084356ba 2019-09-17   10: LIB_SUFFIX    := $(shell . "${TCL_CONFIG_SH}"; echo "$${TCL_SHLIB_SUFFIX:-.so}")
55084356ba 2019-09-17   11: 
d09edad10f 2019-09-17   12: all: example-standalone$(LIB_SUFFIX) example-client$(LIB_SUFFIX) example-flexible$(LIB_SUFFIX) xvfs$(LIB_SUFFIX)
d09edad10f 2019-09-17   13: 
ae8437b96b 2019-12-01   14: example.c: $(shell find example -type f) $(shell find lib -type f) lib/xvfs/xvfs.c.rvt xvfs-create-c xvfs-create Makefile
ae8437b96b 2019-12-01   15: 	rm -f example.c.new.1 example.c.new.2
ae8437b96b 2019-12-01   16: 	./xvfs-create-c --directory example --name example > example.c.new.1
ae8437b96b 2019-12-01   17: 	./xvfs-create --directory example --name example > example.c.new.2
36d0805e0e 2019-12-03   18: 	bash -c "diff -u <(grep -v '^ *$$' example.c.new.1) <(grep -v '^ *$$' example.c.new.2)" || :
ae8437b96b 2019-12-01   19: 	rm -f example.c.new.2
ae8437b96b 2019-12-01   20: 	mv example.c.new.1 example.c
d09edad10f 2019-09-17   21: 
d09edad10f 2019-09-17   22: example-standalone.o: example.c xvfs-core.h xvfs-core.c Makefile
d09edad10f 2019-09-17   23: 	$(CC) $(CPPFLAGS) -DXVFS_MODE_STANDALONE $(CFLAGS) -o example-standalone.o -c example.c
d09edad10f 2019-09-17   24: 
d09edad10f 2019-09-17   25: example-standalone$(LIB_SUFFIX): example-standalone.o Makefile
992994189a 2019-11-14   26: 	$(CC) $(CFLAGS) $(LDFLAGS) -shared -o example-standalone$(LIB_SUFFIX) example-standalone.o $(LIBS)
511419642c 2019-09-16   27: 
511419642c 2019-09-16   28: example-client.o: example.c xvfs-core.h Makefile
55084356ba 2019-09-17   29: 	$(CC) $(CPPFLAGS) -DXVFS_MODE_CLIENT $(CFLAGS) -o example-client.o -c example.c
55084356ba 2019-09-17   30: 
55084356ba 2019-09-17   31: example-client$(LIB_SUFFIX): example-client.o Makefile
992994189a 2019-11-14   32: 	$(CC) $(CFLAGS) $(LDFLAGS) -shared -o example-client$(LIB_SUFFIX) example-client.o $(LIBS)
55084356ba 2019-09-17   33: 
55084356ba 2019-09-17   34: example-flexible.o: example.c xvfs-core.h Makefile
55084356ba 2019-09-17   35: 	$(CC) $(CPPFLAGS) -DXVFS_MODE_FLEXIBLE $(CFLAGS) -o example-flexible.o -c example.c
a4f7828c1d 2019-09-17   36: 
55084356ba 2019-09-17   37: example-flexible$(LIB_SUFFIX): example-flexible.o Makefile
992994189a 2019-11-14   38: 	$(CC) $(CFLAGS) $(LDFLAGS) -shared -o example-flexible$(LIB_SUFFIX) example-flexible.o $(LIBS)
a4f7828c1d 2019-09-17   39: 
a4f7828c1d 2019-09-17   40: xvfs.o: xvfs-core.h xvfs-core.c Makefile
a4f7828c1d 2019-09-17   41: 	$(CC) $(CPPFLAGS) -DXVFS_MODE_SERVER $(CFLAGS) -o xvfs.o -c xvfs-core.c
a4f7828c1d 2019-09-17   42: 
55084356ba 2019-09-17   43: xvfs$(LIB_SUFFIX): xvfs.o Makefile
992994189a 2019-11-14   44: 	$(CC) $(CFLAGS) $(LDFLAGS) -shared -o xvfs$(LIB_SUFFIX) xvfs.o $(LIBS)
d80c88cee0 2019-09-16   45: 
d80c88cee0 2019-09-16   46: # xvfs-create-standalone is a standalone (i.e., no external dependencies
d80c88cee0 2019-09-16   47: # like lib/minirivet, xvfs-core.c, etc) version of "xvfs-create"
2b7fa3a8fa 2019-09-20   48: xvfs-create-standalone: $(shell find lib -type f) xvfs-create xvfs-core.c xvfs-core.h lib/xvfs/xvfs.c.rvt Makefile
d80c88cee0 2019-09-16   49: 	rm -f xvfs-create-standalone.new xvfs-create-standalone
d80c88cee0 2019-09-16   50: 	./xvfs-create --dump-tcl --remove-debug > xvfs-create-standalone.new
d80c88cee0 2019-09-16   51: 	chmod +x xvfs-create-standalone.new
d80c88cee0 2019-09-16   52: 	mv xvfs-create-standalone.new xvfs-create-standalone
ae8437b96b 2019-12-01   53: 
ae8437b96b 2019-12-01   54: xvfs-create-c: xvfs-create-c.o
ae8437b96b 2019-12-01   55: 	$(CC) $(CFLAGS) $(LDFLAGS) -o xvfs-create-c xvfs-create-c.o $(LIBS)
ae8437b96b 2019-12-01   56: 
ae8437b96b 2019-12-01   57: xvfs-create-c.o: xvfs-create-c.c
ae8437b96b 2019-12-01   58: 	$(CC) $(CPPFLAGS) $(CFLAGS) -o xvfs-create-c.o -c xvfs-create-c.c
3cae553059 2019-09-20   59: 
ca3a163ab4 2019-09-20   60: xvfs_random$(LIB_SUFFIX): $(shell find example -type f) $(shell find lib -type f) lib/xvfs/xvfs.c.rvt xvfs-create-random Makefile
9b49bfa195 2019-09-20   61: 	./xvfs-create-random | $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -DXVFS_MODE_FLEXIBLE -x c - -shared -o xvfs_random$(LIB_SUFFIX) $(LIBS)
ca3a163ab4 2019-09-20   62: 
ca3a163ab4 2019-09-20   63: xvfs_synthetic$(LIB_SUFFIX): $(shell find lib -type f) lib/xvfs/xvfs.c.rvt xvfs-create-synthetic Makefile
9b49bfa195 2019-09-20   64: 	./xvfs-create-synthetic | $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -DXVFS_MODE_FLEXIBLE -x c - -shared -o xvfs_synthetic$(LIB_SUFFIX) $(LIBS)
ca3a163ab4 2019-09-20   65: 
3cae553059 2019-09-20   66: do-benchmark:
7225016a7e 2019-09-17   67: 	$(MAKE) clean all XVFS_ADD_CPPFLAGS="-UXVFS_DEBUG" XVFS_ADD_CFLAGS="-g0 -ggdb0 -s -O3"
b0e3b6588f 2019-09-17   68: 	./benchmark.tcl
b0e3b6588f 2019-09-17   69: 
d09edad10f 2019-09-17   70: test: example-standalone$(LIB_SUFFIX) xvfs$(LIB_SUFFIX) example-client$(LIB_SUFFIX) example-flexible$(LIB_SUFFIX) Makefile
d80c88cee0 2019-09-16   71: 	rm -f __test__.tcl
2139fe19a8 2019-09-18   72: 	echo 'if {[catch { eval $$::env(XVFS_TEST_LOAD_COMMANDS); source $(XVFS_ROOT_MOUNTPOINT)example/main.tcl }]} { puts stderr $$::errorInfo; exit 1 }; exit 0' > __test__.tcl
2139fe19a8 2019-09-18   73: 	@export XVFS_ROOT_MOUNTPOINT; export XVFS_TEST_LOAD_COMMANDS; for XVFS_TEST_LOAD_COMMANDS in \
d09edad10f 2019-09-17   74: 		'load ./example-standalone$(LIB_SUFFIX) Xvfs_example' \
55084356ba 2019-09-17   75: 		'load -global ./xvfs$(LIB_SUFFIX); load ./example-client$(LIB_SUFFIX) Xvfs_example' \
55084356ba 2019-09-17   76: 		'load ./xvfs$(LIB_SUFFIX); load ./example-flexible$(LIB_SUFFIX) Xvfs_example' \
55084356ba 2019-09-17   77: 		'load ./example-flexible$(LIB_SUFFIX) Xvfs_example'; do \
55084356ba 2019-09-17   78: 			echo "[$${XVFS_TEST_LOAD_COMMANDS}] $(GDB) $(TCLSH) __test__.tcl $(TCL_TEST_ARGS)"; \
55084356ba 2019-09-17   79: 			$(GDB) $(TCLSH) __test__.tcl $(TCL_TEST_ARGS) || exit 1; \
55084356ba 2019-09-17   80: 	done
d80c88cee0 2019-09-16   81: 	rm -f __test__.tcl
77d5262842 2019-09-16   82: 
3cae553059 2019-09-20   83: do-test: test
3cae553059 2019-09-20   84: 
3cae553059 2019-09-20   85: do-coverage:
77d5262842 2019-09-16   86: 	$(MAKE) clean
d1ae68c7a1 2019-09-17   87: 	$(MAKE) XVFS_ADD_CFLAGS=-coverage XVFS_ADD_LDFLAGS=-coverage
10f67b2ced 2019-09-16   88: 	$(MAKE) test XVFS_TEST_EXIT_ON_FAILURE=0
77d5262842 2019-09-16   89: 	rm -f xvfs-test-coverage.info
77d5262842 2019-09-16   90: 	lcov --capture --directory . --output-file xvfs-test-coverage.info
77d5262842 2019-09-16   91: 	rm -rf xvfs-test-coverage
77d5262842 2019-09-16   92: 	mkdir xvfs-test-coverage
77d5262842 2019-09-16   93: 	genhtml xvfs-test-coverage.info --output-directory xvfs-test-coverage
77d5262842 2019-09-16   94: 	rm -f xvfs-test-coverage.info
77d5262842 2019-09-16   95: 
22c09ebad1 2019-09-20   96: profile-bare: profile.c example.c xvfs-core.h xvfs-core.c Makefile
22c09ebad1 2019-09-20   97: 	$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -UUSE_TCL_STUBS -o profile-bare profile.c -ltcl
22c09ebad1 2019-09-20   98: 
22c09ebad1 2019-09-20   99: profile-gperf: profile.c example.c xvfs-core.h xvfs-core.c Makefile
22c09ebad1 2019-09-20  100: 	$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -pg -UUSE_TCL_STUBS -o profile-gperf profile.c -ltcl
22c09ebad1 2019-09-20  101: 
22c09ebad1 2019-09-20  102: do-profile: profile-bare profile-gperf Makefile
22c09ebad1 2019-09-20  103: 	rm -rf oprofile_data
22c09ebad1 2019-09-20  104: 	rm -f gmon.out callgrind.out
22c09ebad1 2019-09-20  105: 	operf ./profile-bare
22c09ebad1 2019-09-20  106: 	opreport
22c09ebad1 2019-09-20  107: 	./profile-gperf
22c09ebad1 2019-09-20  108: 	gprof ./profile-gperf
22c09ebad1 2019-09-20  109: 	valgrind --tool=callgrind --callgrind-out-file=callgrind.out ./profile-bare 10 2
22c09ebad1 2019-09-20  110: 	callgrind_annotate callgrind.out
3cae553059 2019-09-20  111: 
0a9369ff13 2019-05-02  112: clean:
d80c88cee0 2019-09-16  113: 	rm -f xvfs-create-standalone.new xvfs-create-standalone
ae8437b96b 2019-12-01  114: 	rm -f xvfs-create-c.o xvfs-create-c
ae8437b96b 2019-12-01  115: 	rm -f example.c example.c.new example.c.new.1 example.c.new.2
d09edad10f 2019-09-17  116: 	rm -f example-standalone$(LIB_SUFFIX) example-standalone.o
55084356ba 2019-09-17  117: 	rm -f example-client.o example-client$(LIB_SUFFIX)
55084356ba 2019-09-17  118: 	rm -f example-flexible.o example-flexible$(LIB_SUFFIX)
55084356ba 2019-09-17  119: 	rm -f xvfs.o xvfs$(LIB_SUFFIX)
2f92a3a715 2019-09-17  120: 	rm -f example-standalone.gcda example-standalone.gcno
2f92a3a715 2019-09-17  121: 	rm -f example-client.gcda example-client.gcno
2f92a3a715 2019-09-17  122: 	rm -f example-flexible.gcda example-flexible.gcno
ca3a163ab4 2019-09-20  123: 	rm -f xvfs_random$(LIB_SUFFIX) xvfs_synthetic$(LIB_SUFFIX)
2f92a3a715 2019-09-17  124: 	rm -f xvfs.gcda xvfs.gcno
5583d77f1c 2019-09-14  125: 	rm -f __test__.tcl
22c09ebad1 2019-09-20  126: 	rm -f profile-bare profile-gperf
22c09ebad1 2019-09-20  127: 	rm -f gmon.out
22c09ebad1 2019-09-20  128: 	rm -f callgrind.out
3cae553059 2019-09-20  129: 	rm -rf oprofile_data
77d5262842 2019-09-16  130: 	rm -f xvfs-test-coverage.info
77d5262842 2019-09-16  131: 	rm -rf xvfs-test-coverage
0a9369ff13 2019-05-02  132: 
0a9369ff13 2019-05-02  133: distclean: clean
0a9369ff13 2019-05-02  134: 
3cae553059 2019-09-20  135: .PHONY: all clean distclean test do-test do-coverage do-benchmark do-profile