aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
blob: 618bb0096f7d7fd7cfe4f39327d69a88df923983 (plain)
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# ========================
# =====    ===============
# ======  ================
# ======  ================
# ======  ====   ====   ==
# ======  ===     ==  =  =
# ======  ===  =  ==     =
# =  ===  ===  =  ==  ====
# =  ===  ===  =  ==  =  =
# ==     =====   ====   ==
# ========================
#
# hardflip: Makefile
# Tue, 26 Aug 2025 11:35:01 +0200
# Joe
#
# GNU Makefile

TARGET			:= hf
SHELL			:= /bin/sh
SRC_DIR			:= ./src/
SRC_NAME		:= *.go
MAN_DIR			:= ./man/
MAN_SRC			:= ${TARGET}.1
SRC				:= $(addprefix ${SRC_DIR}, ${SRC_NAME})
DEST			:= /usr
.DEFAULT_GOAL	:= ${TARGET}

run: ${SRC}
	go run -tags debug ${SRC_DIR}

${TARGET}: ${SRC}
	go build -o ${TARGET} ${SRC_DIR}

install:
	mkdir -p ${DEST}/bin
	cp -f ${TARGET} ${DEST}/bin/hf
	mkdir -p ${DEST}/share/man/man1
	gzip -k ${MAN_DIR}/${MAN_SRC}
	mv -f ${MAN_DIR}/${MAN_SRC}.gz ${DEST}/share/man/man1/${MAN_SRC}.gz

uninstall:
	rm -f ${DEST}/bin/hf
	rm -f ${DEST}/share/man/man1/${MAN_SRC}.gz

release: ${SRC}
	gzip -k ${MAN_DIR}/${MAN_SRC}
	mv -f ${MAN_DIR}/${MAN_SRC}.gz .
	GOOS=darwin GOARCH=arm64   go build -o ${TARGET} ${SRC_DIR}
	tar -zcf hf_v1.0_darwin_arm64.tar.gz  ${TARGET} ${MAN_SRC}.gz README.md LICENSE
	rm -f ${TARGET}
	GOOS=darwin GOARCH=amd64   go build -o ${TARGET} ${SRC_DIR}
	tar -zcf hf_v1.0_darwin_x86_64.tar.gz  ${TARGET} ${MAN_SRC}.gz README.md LICENSE
	rm -f ${TARGET}
	GOOS=freebsd GOARCH=arm64  go build -o ${TARGET} ${SRC_DIR}
	tar -zcf hf_v1.0_freebsd_arm64.tar.gz  ${TARGET} ${MAN_SRC}.gz README.md LICENSE
	rm -f ${TARGET}
	GOOS=freebsd GOARCH=armv6  go build -o ${TARGET} ${SRC_DIR}
	tar -zcf hf_v1.0_freebsd_armv6.tar.gz  ${TARGET} ${MAN_SRC}.gz README.md LICENSE
	rm -f ${TARGET}
	GOOS=freebsd GOARCH=amd64  go build -o ${TARGET} ${SRC_DIR}
	tar -zcf hf_v1.0_freebsd_x86_64.tar.gz ${TARGET} ${MAN_SRC}.gz README.md LICENSE
	rm -f ${TARGET}
	GOOS=linux GOARCH=arm64    go build -o ${TARGET} ${SRC_DIR}
	tar -zcf hf_v1.0_linux_arm64.tar.gz    ${TARGET} ${MAN_SRC}.gz README.md LICENSE
	rm -f ${TARGET}
	GOOS=linux GOARCH=armv6    go build -o ${TARGET} ${SRC_DIR}
	tar -zcf hf_v1.0_linux_armv6.tar.gz    ${TARGET} ${MAN_SRC}.gz README.md LICENSE
	rm -f ${TARGET}
	GOOS=linux GOARCH=amd64    go build -o ${TARGET} ${SRC_DIR}
	tar -zcf hf_v1.0_linux_x86_64.tar.gz   ${TARGET} ${MAN_SRC}.gz README.md LICENSE
	rm -f ${TARGET}
	rm -f ${MAN_SRC}.gz

clean:
	go clean
	rm -f ${TARGET} *.gz

.PHONY: hf run clean install uninstall