48 lines
2.1 KiB
Makefile
48 lines
2.1 KiB
Makefile
.PHONY = all pre testfiles bigfiles
|
|
SOURCES = $(wildcard *.c)
|
|
BINARIES = $(SOURCES:%.c=%)
|
|
EXECUTABLES= $(addprefix bin/,${BINARIES})
|
|
all: pre $(EXECUTABLES) huffman/bin/huffman testfiles
|
|
|
|
big: all bigfiles
|
|
pre:
|
|
@mkdir -p bin huffman/bin huffman/testfiles
|
|
|
|
clean:
|
|
rm -rvf bin huffman/testfiles huffman/bin
|
|
|
|
huffman/bin/huffman: huffman/huffman.c
|
|
$(CC) $(CFLAGS) -o $@ $< -lm
|
|
|
|
# TODO convert this phony target into multiple smaller file targets
|
|
testfiles:
|
|
@dd if=/dev/urandom of=huffman/testfiles/1K-random.img count=1KiB
|
|
@dd if=/dev/urandom of=huffman/testfiles/10K-random.img count=10KiB
|
|
@dd if=/dev/urandom of=huffman/testfiles/100K-random.img count=100KiB
|
|
@dd if=/dev/urandom of=huffman/testfiles/1M-random.img count=1MiB
|
|
@dd if=/dev/urandom of=huffman/testfiles/10M-random.img count=10MiB
|
|
@dd if=/dev/zero of=huffman/testfiles/1K-zero.img count=1KiB
|
|
@dd if=/dev/zero of=huffman/testfiles/10K-zero.img count=10KiB
|
|
@dd if=/dev/zero of=huffman/testfiles/100K-zero.img count=100KiB
|
|
@dd if=/dev/zero of=huffman/testfiles/1M-zero.img count=1MiB
|
|
@dd if=/dev/zero of=huffman/testfiles/10M-zero.img count=10MiB
|
|
@echo -e "Wer\ndas\nliest\nist\ndoof\n" > huffman/testfiles/tiny.txt
|
|
@yes 'SAFJALJ AF OIAIFOsdp' | head -c 100KB > huffman/testfiles/small.txt
|
|
@yes 'lslfkpoipop iipfiasp' | head -c 1MB > huffman/testfiles/mid.txt
|
|
|
|
|
|
# TODO convert this phony target into multiple smaller file targets
|
|
bigfiles:
|
|
@echo "Building some bigger testfiles, this might take a while and draw some performance"
|
|
@dd if=/dev/urandom of=huffman/testfiles/100M-random.img count=100MiB
|
|
@dd if=/dev/zero of=huffman/testfiles/100M-zero.img count=100MiB
|
|
@dd if=/dev/urandom of=huffman/testfiles/1G-random.img count=1GiB
|
|
@dd if=/dev/urandom of=huffman/testfiles/10G-random.img count=10GiB
|
|
@dd if=/dev/zero of=huffman/testfiles/1G-zero.img count=1GiB
|
|
@dd if=/dev/zero of=huffman/testfiles/10G-zero.img count=10GiB
|
|
@yes 'a sla d JK J Kkl' | head -c 100MB > huffman/testfiles/big.txt
|
|
@yes ' POP OPO )()( as' | head -c 1G > huffman/testfiles/huge.txt
|
|
|
|
$(EXECUTABLES): $(SOURCES)
|
|
$(CC) $(CFLAGS) -o $@ $< -lm
|