Back to project.

Raw source file available here .

all: format_all build run

update_rlib:
cp ../rlib/rlib.c ./rlib.h

format_all:
clang-format *.c *.h -i

build:
gcc rrex2.c -o rrex2 -O2 -Wall -Wextra -static

run:
./rrex2

test:
$(MAKE) build
./rrex2 test

cli: build
./rrex2 cli

one-file:
rmerge rrex2.c > rrex2full.c
clang-format rrex2full.c -i
gcc rrex2full.c -o rrexfull.o -O3 -static -Wall -Wextra
@echo "g++ rrex2full.c -o rrex2full.o -O2"

compiler:
gcc compiler.c -o compiler.o -O3
./compiler.o

coverage:
@rm -f *.gcda 2>/dev/null
@rm -f *.gcno 2>/dev/null
@rm -f rrex.coverage.info 2>/dev/null
gcc -pg -fprofile-arcs -ftest-coverage -g -o rrex_coverage.o rrex2.c
./rrex_coverage.o test
lcov --capture --directory . --output-file rrex.coverage.info
genhtml rrex.coverage.info --output-directory rrex.coverage
@rm -f *.gcda 2>/dev/null
@rm -f *.gcno 2>/dev/null
@rm -f rrex.coverage.info 2>/dev/null
@rm -f rrex_coverage.o
@rm -f gmon.out
google-chrome rrex.coverage/index.html

build_and_run_rrex3: build_rrex3 run_rrex3

build_rrex3:
gcc rrex3.c -o rrex3 -Wall -Wextra -Ofast
-@rmerge rrex3.c > rrex3all.c
-@gcc -E rrex3.c -o rrex3alle.c -Wall -Wextra -Ofast

run_rrex3:
./rrex3

r4: rrex4 run_rrex4

rrex4: rrex4.c rrex4.h
gcc rrex4.c -o rrex4 -Wall -Wextra -Ofast

run_rrex4:
./rrex4

debug_rrex4:
./rrex4 --debug

coverage_rrex4:
@rm -f *.gcda 2>/dev/null
@rm -f *.gcno 2>/dev/null
@rm -f rrex4.coverage.info 2>/dev/null
gcc -pg -fprofile-arcs -ftest-coverage -g -o rrex4_coverage.o rrex4.c
./rrex4_coverage.o test --debug
lcov --capture --directory . --output-file rrex4.coverage.info
genhtml rrex4.coverage.info --output-directory rrex4.coverage
@rm -f *.gcda 2>/dev/null
@rm -f *.gcno 2>/dev/null
@rm -f rrex4.coverage.info 2>/dev/null
@rm -f rrex4_coverage.o
@rm -f gmon.out
google-chrome rrex4.coverage/index.html




build_and_run_re: build_re run_re

build_re:
gcc re.c -o re -Wall -Wextra -O2

run_re:
./re "/home/projects/retoor/rlib" " (.*) ";

coverage_rrex3:
@rm -f *.gcda 2>/dev/null
@rm -f *.gcno 2>/dev/null
@rm -f rrex3.coverage.info 2>/dev/null
gcc -pg -fprofile-arcs -ftest-coverage -g -o rrex3_coverage.o rrex3.c
./rrex3_coverage.o test
lcov --capture --directory . --output-file rrex3.coverage.info
genhtml rrex3.coverage.info --output-directory rrex3.coverage
@rm -f *.gcda 2>/dev/null
@rm -f *.gcno 2>/dev/null
@rm -f rrex3.coverage.info 2>/dev/null
@rm -f rrex3_coverage.o
@rm -f gmon.out
google-chrome rrex3.coverage/index.html

publish:
brz add
brz commit
brz push lp:rrex2