118 lines
3.8 KiB
Makefile
118 lines
3.8 KiB
Makefile
.PHONY: all clean test
|
|
|
|
CFLAGS = -fPIC -g -O0 -Wall -Wextra
|
|
LDFLAGS =
|
|
|
|
all: utest-byte utest-short utest-word utest-quad \
|
|
utest-byte-static utest-short-static utest-word-static utest-quad-static \
|
|
utest-byte-single utest-short-single utest-word-single utest-quad-single \
|
|
utest-coverage bigint.o
|
|
|
|
test: utest-byte utest-short utest-word utest-quad utest-byte-single utest-short-single utest-word-single utest-quad-single utest-coverage
|
|
./utest-byte >/dev/null 2>&1 || ./utest-byte
|
|
./utest-short >/dev/null 2>&1 || ./utest-short
|
|
./utest-word >/dev/null 2>&1 || ./utest-word
|
|
./utest-quad >/dev/null 2>&1 || ./utest-quad
|
|
./utest-byte-single >/dev/null 2>&1 || ./utest-byte-single
|
|
./utest-short-single >/dev/null 2>&1 || ./utest-short-single
|
|
./utest-word-single >/dev/null 2>&1 || ./utest-word-single
|
|
./utest-quad-single >/dev/null 2>&1 || ./utest-quad-single
|
|
./utest-byte-static >/dev/null 2>&1 || ./utest-byte-static
|
|
./utest-short-static >/dev/null 2>&1 || ./utest-short-static
|
|
./utest-word-static >/dev/null 2>&1 || ./utest-word-static
|
|
./utest-quad-static >/dev/null 2>&1 || ./utest-quad-static
|
|
mkdir -p coverage
|
|
rm -f coverage/*
|
|
./utest-coverage
|
|
gcovr --html-details --output coverage/index.html
|
|
rm -f *.gcda
|
|
rm -f *.gcno
|
|
|
|
utest-byte: utest-byte.o
|
|
$(CC) -o $@ $^ $(LDFLAGS)
|
|
|
|
utest-short: utest-short.o
|
|
$(CC) -o $@ $^ $(LDFLAGS)
|
|
|
|
utest-word: utest-word.o
|
|
$(CC) -o $@ $^ $(LDFLAGS)
|
|
|
|
utest-quad: utest-quad.o
|
|
$(CC) -o $@ $^ $(LDFLAGS)
|
|
|
|
utest-byte-single: utest-byte-single.o
|
|
$(CC) -o $@ $^ $(LDFLAGS)
|
|
|
|
utest-short-single: utest-short-single.o
|
|
$(CC) -o $@ $^ $(LDFLAGS)
|
|
|
|
utest-word-single: utest-word-single.o
|
|
$(CC) -o $@ $^ $(LDFLAGS)
|
|
|
|
utest-quad-single: utest-quad-single.o
|
|
$(CC) -o $@ $^ $(LDFLAGS)
|
|
|
|
utest-byte-static: utest-byte-static.o
|
|
$(CC) -o $@ $^ $(LDFLAGS)
|
|
|
|
utest-short-static: utest-short-static.o
|
|
$(CC) -o $@ $^ $(LDFLAGS)
|
|
|
|
utest-word-static: utest-word-static.o
|
|
$(CC) -o $@ $^ $(LDFLAGS)
|
|
|
|
utest-quad-static: utest-quad-static.o
|
|
$(CC) -o $@ $^ $(LDFLAGS)
|
|
|
|
utest-coverage: utest-coverage.o
|
|
$(CC) -o $@ $^ $(LDFLAGS) --coverage
|
|
|
|
utest-byte.o: utest.c utest.h bigint.h
|
|
$(CC) $(CFLAGS) -DBIGINT_WORD_WIDTH=1 -c -o $@ $<
|
|
|
|
utest-short.o: utest.c utest.h bigint.h
|
|
$(CC) $(CFLAGS) -DBIGINT_WORD_WIDTH=2 -c -o $@ $<
|
|
|
|
utest-word.o: utest.c utest.h bigint.h
|
|
$(CC) $(CFLAGS) -DBIGINT_WORD_WIDTH=4 -c -o $@ $<
|
|
|
|
utest-quad.o: utest.c utest.h bigint.h
|
|
$(CC) $(CFLAGS) -DBIGINT_WORD_WIDTH=8 -c -o $@ $<
|
|
|
|
utest-byte-single.o: utest.c utest.h bigint.h
|
|
$(CC) $(CFLAGS) -DBIGINT_SINGLE_WORD_ONLY -DBIGINT_WORD_WIDTH=1 -c -o $@ $<
|
|
|
|
utest-short-single.o: utest.c utest.h bigint.h
|
|
$(CC) $(CFLAGS) -DBIGINT_SINGLE_WORD_ONLY -DBIGINT_WORD_WIDTH=2 -c -o $@ $<
|
|
|
|
utest-word-single.o: utest.c utest.h bigint.h
|
|
$(CC) $(CFLAGS) -DBIGINT_SINGLE_WORD_ONLY -DBIGINT_WORD_WIDTH=4 -c -o $@ $<
|
|
|
|
utest-quad-single.o: utest.c utest.h bigint.h
|
|
$(CC) $(CFLAGS) -DBIGINT_SINGLE_WORD_ONLY -DBIGINT_WORD_WIDTH=8 -c -o $@ $<
|
|
|
|
utest-byte-static.o: utest.c utest.h bigint.h
|
|
$(CC) $(CFLAGS) -DBIGINT_NO_MALLOC -DBIGINT_WORD_WIDTH=1 -c -o $@ $<
|
|
|
|
utest-short-static.o: utest.c utest.h bigint.h
|
|
$(CC) $(CFLAGS) -DBIGINT_NO_MALLOC -DBIGINT_WORD_WIDTH=2 -c -o $@ $<
|
|
|
|
utest-word-static.o: utest.c utest.h bigint.h
|
|
$(CC) $(CFLAGS) -DBIGINT_NO_MALLOC -DBIGINT_WORD_WIDTH=4 -c -o $@ $<
|
|
|
|
utest-quad-static.o: utest.c utest.h bigint.h
|
|
$(CC) $(CFLAGS) -DBIGINT_NO_MALLOC -DBIGINT_WORD_WIDTH=8 -c -o $@ $<
|
|
|
|
utest-coverage.o: utest.c utest.h bigint.h
|
|
$(CC) $(CFLAGS) --coverage -c -o $@ $<
|
|
|
|
bigint.o: bigint.h
|
|
$(CC) -DBIGINT_IMPLEMENTATION -std=c99 -pedantic $(CFLAGS) -c -o $@ $<
|
|
|
|
clean:
|
|
rm -f *.o *.exe
|
|
rm -f utest-coverage
|
|
rm -f utest-byte utest-short utest-word utest-quad
|
|
rm -f utest-byte-single utest-short-single utest-word-single utest-quad-single
|
|
rm -f utest-byte-static utest-short-static utest-word-static utest-quad-static
|