CFLAGS=-std=gnu99 -O2 -msse4.1 -g -Wall -Wextra
LDFLAGS=-lm -lrt
-all: tests
+all: tests driver
UNSTUFF_TEST_OBJS=unstuff.o unstuff_test.o benchmark.o
unstuff_test: $(UNSTUFF_TEST_OBJS)
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)
-IDCT_TEST_OBJS=idct.o idct_test.o benchmark.o
+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)
+DRIVER_OBJS=driver.o idct_float.o unstuff.o bytesource.o bitsource.o choice.o dehuff.o input.o
+driver: $(DRIVER_OBJS)
+ $(CC) $(LDFLAGS) -o $@ $(DRIVER_OBJS)
+
tests: unstuff_test bitsource_test dehuff_test bytesource_test idct_test
clean:
$(RM) $(UNSTUFF_TEST_OBJS) unstuff_test
$(RM) $(DEHUFF_TEST_OBJS) dehuff_test
$(RM) $(BYTESOURCE_TEST_OBJS) bytesource_test
$(RM) $(IDCT_TEST_OBJS) idct_test
+ $(RM) $(DRIVER_OBJS) driver
test: tests
./unstuff_test