53 lines
1.0 KiB
Makefile
53 lines
1.0 KiB
Makefile
ARG :=
|
|
|
|
CC ?= gcc
|
|
CFLAGS ?= -O3
|
|
INCLUDES := -I ../../../programs -I ../../../lib/common -I ../../../lib -I ../../../lib/dictBuilder
|
|
|
|
TEST_INPUT := ../../../lib
|
|
TEST_OUTPUT := randomDict
|
|
|
|
all: main run clean
|
|
|
|
.PHONY: test
|
|
test: main testrun testshell clean
|
|
|
|
.PHONY: run
|
|
run:
|
|
echo "Building a random dictionary with given arguments"
|
|
./main $(ARG)
|
|
|
|
main: main.o io.o random.o libzstd.a
|
|
$(CC) $(CFLAGS) main.o io.o random.o libzstd.a -o main
|
|
|
|
main.o: main.c
|
|
$(CC) $(CFLAGS) $(INCLUDES) -c main.c
|
|
|
|
random.o: random.c
|
|
$(CC) $(CFLAGS) $(INCLUDES) -c random.c
|
|
|
|
io.o: io.c
|
|
$(CC) $(CFLAGS) $(INCLUDES) -c io.c
|
|
|
|
libzstd.a:
|
|
$(MAKE) -C ../../../lib libzstd.a
|
|
mv ../../../lib/libzstd.a .
|
|
|
|
.PHONY: testrun
|
|
testrun: main
|
|
echo "Run with $(TEST_INPUT) and $(TEST_OUTPUT) "
|
|
./main in=$(TEST_INPUT) out=$(TEST_OUTPUT)
|
|
zstd -be3 -D $(TEST_OUTPUT) -r $(TEST_INPUT) -q
|
|
rm -f $(TEST_OUTPUT)
|
|
|
|
.PHONY: testshell
|
|
testshell: test.sh
|
|
sh test.sh
|
|
echo "Finish running test.sh"
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
rm -f *.o main libzstd.a
|
|
$(MAKE) -C ../../../lib clean
|
|
echo "Cleaning is completed"
|