Lines of
Makefile
from check-in 10f67b2ced
that are changed by the sequence of edits moving toward
check-in 511419642c:
10f67b2ced 2019-09-16 1: CPPFLAGS := -I. -DUSE_TCL_STUBS=1 -DXVFS_MODE_FLEXIBLE -DXVFS_DEBUG $(XVFS_ADD_CPPFLAGS)
2: CFLAGS := -fPIC -g3 -ggdb3 -Wall $(XVFS_ADD_CFLAGS)
3: LDFLAGS := $(XVFS_ADD_LDFLAGS)
4: LIBS := -ltclstub8.6
5: TCLSH := tclsh
6:
10f67b2ced 2019-09-16 7: all: example.so
8:
9: example.c: $(shell find example -type f) $(shell find lib -type f) xvfs.c.rvt xvfs-create Makefile
10: ./xvfs-create --directory example --name example > example.c.new
11: mv example.c.new example.c
12:
13: example.o: example.c xvfs-core.h xvfs-core.c Makefile
10f67b2ced 2019-09-16 14: $(CC) $(CPPFLAGS) $(CFLAGS) -o example.o -c example.c
15:
16: example.so: example.o Makefile
17: $(CC) $(CFLAGS) $(LDFLAGS) -shared -o example.so example.o $(LIBS)
18:
19: # xvfs-create-standalone is a standalone (i.e., no external dependencies
20: # like lib/minirivet, xvfs-core.c, etc) version of "xvfs-create"
10f67b2ced 2019-09-16 21: xvfs-create-standalone: $(shell find lib -type f) xvfs-create xvfs-core.c xvfs-core.h xvfs.c.rvt
22: rm -f xvfs-create-standalone.new xvfs-create-standalone
23: ./xvfs-create --dump-tcl --remove-debug > xvfs-create-standalone.new
24: chmod +x xvfs-create-standalone.new
25: mv xvfs-create-standalone.new xvfs-create-standalone
26:
10f67b2ced 2019-09-16 27: test: example.so
28: rm -f __test__.tcl
10f67b2ced 2019-09-16 29: echo 'if {[catch { load ./example.so Xvfs_example; source //xvfs:/example/main.tcl }]} { puts stderr $$::errorInfo; exit 1 }; exit 0' > __test__.tcl
10f67b2ced 2019-09-16 30: $(GDB) $(TCLSH) __test__.tcl $(TCL_TEST_ARGS)
31: rm -f __test__.tcl
32:
33: coverage:
34: $(MAKE) clean
35: $(MAKE) example.so XVFS_ADD_CFLAGS=-coverage XVFS_ADD_LDFLAGS=-coverage
36: $(MAKE) test XVFS_TEST_EXIT_ON_FAILURE=0
37: rm -f xvfs-test-coverage.info
38: lcov --capture --directory . --output-file xvfs-test-coverage.info
39: rm -rf xvfs-test-coverage
40: mkdir xvfs-test-coverage
41: genhtml xvfs-test-coverage.info --output-directory xvfs-test-coverage
42: rm -f xvfs-test-coverage.info
43:
44: clean:
45: rm -f xvfs-create-standalone.new xvfs-create-standalone
46: rm -f example.c example.c.new
47: rm -f example.so example.o
48: rm -f example.gcda example.gcno
49: rm -f __test__.tcl
50: rm -f xvfs-test-coverage.info
51: rm -rf xvfs-test-coverage
52:
53: distclean: clean
54:
55: .PHONY: all clean distclean test coverage