CC=gcc
-CFLAGS=-std=gnu99 -msse4.1 -g
-LDFLAGS=
+CFLAGS=-std=gnu99 -O2 -msse4.1 -g -Wall -Wextra
+LDFLAGS=-lm -lrt
all: tests
-UNSTUFF_TEST_OBJS=unstuff.o unstuff_test.o
+UNSTUFF_TEST_OBJS=unstuff.o unstuff_test.o benchmark.o
unstuff_test: $(UNSTUFF_TEST_OBJS)
$(CC) $(LDFLAGS) -o $@ $(UNSTUFF_TEST_OBJS)
-INPUT_TEST_OBJS=input.o input_test.o
-input_test: $(INPUT_TEST_OBJS)
- $(CC) $(LDFLAGS) -o $@ $(INPUT_TEST_OBJS)
+BITSOURCE_TEST_OBJS=bitsource.o bitsource_test.o
+bitsource_test: $(BITSOURCE_TEST_OBJS)
+ $(CC) $(LDFLAGS) -o $@ $(BITSOURCE_TEST_OBJS)
-DEHUFF_TEST_OBJS=dehuff.o input.o dehuff_test.o
+DEHUFF_TEST_OBJS=dehuff.o input.o bitsource.o dehuff_test.o
dehuff_test: $(DEHUFF_TEST_OBJS)
$(CC) $(LDFLAGS) -o $@ $(DEHUFF_TEST_OBJS)
-BYTESOURCE_TEST_OBJS=bytesource.o choice.o unstuff.o bytesource_test.o
+BYTESOURCE_TEST_OBJS=bytesource.o choice.o unstuff.o bytesource_test.o idct_float.o
bytesource_test: $(BYTESOURCE_TEST_OBJS)
$(CC) $(LDFLAGS) -o $@ $(BYTESOURCE_TEST_OBJS)
-tests: unstuff_test input_test dehuff_test bytesource_test
+IDCT_TEST_OBJS=idct_float.o idct_imprecise_int.o idct_reference.o idct_test.o benchmark.o
+idct_test: $(IDCT_TEST_OBJS)
+ $(CC) $(LDFLAGS) -o $@ $(IDCT_TEST_OBJS)
+
+tests: unstuff_test bitsource_test dehuff_test bytesource_test idct_test
clean:
$(RM) $(UNSTUFF_TEST_OBJS) unstuff_test
- $(RM) $(INPUT_TEST_OBJS) input_test
+ $(RM) $(BITSOURCE_TEST_OBJS) bitsource_test
$(RM) $(DEHUFF_TEST_OBJS) dehuff_test
- $(RM) $(DEHUFF_TEST_OBJS) bytesource_test
+ $(RM) $(BYTESOURCE_TEST_OBJS) bytesource_test
+ $(RM) $(IDCT_TEST_OBJS) idct_test
test: tests
./unstuff_test
- ./input_test
+ ./bitsource_test
./dehuff_test
./bytesource_test
+ ./idct_test