1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
INSTALL_DIR?=/usr/local/bin
URL_ICANN=https://data.iana.org/TLD/tlds-alpha-by-domain.txt
GO_FILES=$(shell find -name '*.go')
build/top-level-domains.txt:
curl -o build/top-level-domains.txt $(URL_ICANN)
regexp.go: build/top-level-domains.txt
tail +2 build/top-level-domains.txt \
| perl -pe 'chomp if eof' \
| tr '[:upper:]' '[:lower:]' \
| tr '\n' '|' > build/regexp.go-part2
cat <(perl -pe 'chomp if eof' build/regexp.go-part1) \
<(perl -pe 'chomp if eof' build/regexp.go-part2) \
build/regexp.go-part3 \
> regexp.go
.PHONY: clean
clean:
rm -f parcels regexp.go go.sum
parcels: $(GO_FILES) regexp.go
go build
.PHONY: build
build: parcels
.PHONY: install
install: parcels
install -m755 parcels $(INSTALL_DIR)/parcels