@@ -44,7 +44,6 @@ check: $(TESTPROG) pdfgen.c pdfgen.h example-check
4444 cppcheck --std=c99 --enable=style,warning,performance,portability,unusedFunction --quiet pdfgen.c pdfgen.h tests/main.c
4545 $(CXX ) -c pdfgen.c $(CFLAGS_OBJECT ) /dev/null -Werror -Wall -Wextra
4646 ./tests/tests.sh
47- ./tests/tests.sh acroread
4847 $(CLANG_FORMAT ) pdfgen.c | colordiff -u pdfgen.c -
4948 $(CLANG_FORMAT ) pdfgen.h | colordiff -u pdfgen.h -
5049 $(CLANG_FORMAT ) tests/main.c | colordiff -u tests/main.c -
@@ -56,26 +55,56 @@ coverage: $(TESTPROG)
5655 mkdir coverage-html
5756 gcovr -r . --html --html-details -o coverage-html/coverage.html
5857
59- example-check : FORCE
58+ example-check :
6059 # Extract the code block from the README & make sure it compiles
6160 sed -n ' /^```/,/^```/ p' < README.md | sed ' /^```/ d' > example-check.c
6261 $(CC ) $(CFLAGS ) -o example-check example-check.c pdfgen.c $(LFLAGS )
6362 rm example-check example-check.c
6463
65- check-fuzz-% : tests/fuzz-% FORCE
64+ check-fuzz-% : tests/fuzz-%
6665 mkdir -p fuzz-artifacts
6766 ./$< -verbosity=0 -max_total_time=240 -max_len=8192 -rss_limit_mb=1024 -artifact_prefix=" ./fuzz-artifacts/"
6867
6968fuzz-check : check-fuzz-image-data check-fuzz-image-file check-fuzz-header check-fuzz-text check-fuzz-dstr check-fuzz-barcode check-fuzz-ttf
7069
71- format : FORCE
70+ format :
7271 $(CLANG_FORMAT ) -i pdfgen.c pdfgen.h tests/main.c tests/fuzz-* .c tests/massive-file.c
7372
74- docs : FORCE
73+ docs :
7574 doxygen docs/pdfgen.dox 2>&1 | tee doxygen.log
7675 cat doxygen.log | test ` wc -c` -le 0
7776
78- FORCE :
77+ podman-image :
78+ podman build -t pdfgen .
79+
80+ podman-build-win32 : podman-image
81+ podman run --rm -v $(PWD ) :/src -w /src pdfgen bash -c ' make clean && make CC=x86_64-w64-mingw32-gcc'
82+
83+ podman-infer : podman-image
84+ podman run --rm -v $(PWD ) :/src -w /src pdfgen bash -c ' make clean && infer run --no-progress-bar -- make CFLAGS="-g -Wall -pipe" LFLAGS="-lm"'
85+
86+ podman-build : podman-image
87+ podman run --rm -v $(PWD ) :/src -w /src pdfgen bash -c ' make clean && make'
88+
89+ podman-test : podman-image
90+ podman run --rm -v $(PWD ) :/src -w /src pdfgen bash -c ' make clean && scan-build --status-bugs make check'
91+
92+ podman-check : podman-image
93+ podman run --rm -v $(PWD ) :/src -w /src pdfgen bash -c ' make clean && make check'
94+
95+ podman-fuzz-check : podman-image
96+ podman run --rm -v $(PWD ) :/src -w /src pdfgen bash -c ' make clean && make fuzz-check -j8'
97+
98+ podman-docs : podman-image
99+ podman run --rm -v $(PWD ) :/src -w /src pdfgen make docs
100+
101+ podman-coverage : podman-image
102+ podman run --rm -v $(PWD ) :/src -w /src -e COVERALLS_REPO_TOKEN=$(COVERALLS_REPO_TOKEN ) -e GITHUB_REF=$(GITHUB_REF ) pdfgen bash -c ' make clean && make coverage && if [ "$$(basename "$${GITHUB_REF:-none}")" = "master" ]; then ./testprog && coveralls -i pdfgen.c; fi'
103+
104+ podman-shell : podman-image
105+ podman run -i -t --rm -v $(PWD ) :/src -w /src pdfgen /bin/bash
106+
107+ .PHONY : default check coverage example-check fuzz-check format docs podman-image podman-build-win32 podman-infer podman-build podman-test podman-check podman-fuzz-check podman-docs podman-coverage podman-shell clean
79108
80109clean :
81110 rm -f * $(O_SUFFIX ) tests/* $(O_SUFFIX ) $(TESTPROG ) * .gcda * .gcno * .gcov tests/* .gcda tests/* .gcno output.pdf output.txt tests/fuzz-header tests/fuzz-text tests/fuzz-image-data tests/fuzz-image-file test/massive-file output.pdftk fuzz-image-file.pdf fuzz-image-data.pdf fuzz-image.dat doxygen.log tests/penguin.c fuzz.pdf output.ps output.ppm output-barcodes.txt
0 commit comments