blob: 4a3ddd6ffe1d7f04d5b4994a1e7979adbda3afca [file] [log] [blame]
Ahmed Ghazy5898e4a2020-11-13 22:28:55 +02001FILE_SIZE_LIMIT_MB = 25
2LARGE_FILES := $(shell find . -type f -size +$(FILE_SIZE_LIMIT_MB)M -not -path "./.git/*")
3
4LARGE_FILES_GZ := $(addsuffix .gz, $(LARGE_FILES))
5
6ARCHIVES := $(shell find . -type f -name "*.gz")
7ARCHIVE_SOURCES := $(basename $(ARCHIVES))
8
9.PHONY: clean
10clean:
11 echo "clean"
12
13
14
15.PHONY: verify
16verify:
17 echo "verify"
18
19
20
21$(LARGE_FILES_GZ): %.gz: %
22 @if [ $(suffix $<) == ".gz" ]; then\
23 echo "Warning: $< is already compressed. Skipping...";\
24 else\
25 gzip $< > /dev/null &&\
26 echo "$< -> $@";\
27 fi
28
29# This target compresses all files larger than 25 MB
30.PHONY: compress
31compress: $(LARGE_FILES_GZ)
32 @echo "Files larger than $(FILE_SIZE_LIMIT_MB) MBytes are compressed!"
33
34
35
36$(ARCHIVE_SOURCES): %: %.gz
37 @gzip -d $< &&\
38 echo "$< -> $@"
39
40.PHONY: uncompress
41uncompress: $(ARCHIVE_SOURCES)
42 @echo "All files are uncompressed!"