c-basic/Makefile

46 lines
1.9 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
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
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