-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
88 lines (72 loc) · 1.9 KB
/
Makefile
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
80
81
82
83
84
85
86
87
88
# path: /home/klassiker/.local/share/repos/cinfo/Makefile
# author: klassiker [mrdotx]
# github: https://github.com/mrdotx/cinfo
# date: 2022-10-14T18:50:02+0200
.POSIX:
include config.mk
SRC = $(NAME).c util.c
OBJ = $(SRC:.c=.o)
all: options $(NAME)
options:
@printf "$(NAME) -> build options:\n"
@printf " CPPFLAGS = $(CPPFLAGS)\n"
@printf " CFLAGS = $(CFLAGS)\n"
@printf " LDFLAGS = $(LDFLAGS)\n"
@printf " CC = $(CC)\n"
@printf "$(NAME) -> build:\n"
$(OBJ): config.h $(NAME).1
config.h:
@printf " $@\n"
@cp config.def.h $@
$(NAME).1:
@printf " $@\n"
@pandoc -s --to man [email protected] -o $@
@sed -i '/^.\\\"/d' $@
.c.o:
@printf " $@\n"
@$(CC) -c $(CFLAGS) $(CPPFLAGS) $<
$(NAME): $(OBJ)
@printf " $@\n"
@$(CC) $(LDFLAGS) -o $@ $(OBJ)
dist: clean man all
@printf " $(NAME)-$(VERSION).tar.gz\n"
@mkdir -p $(NAME)-$(VERSION)
@cp -R \
LICENSE.md \
README.md \
Makefile \
config.mk \
config.def.h \
util.h \
$(SRC) \
$(NAME).1 \
$(NAME).h \
$(NAME)-$(VERSION)
@tar -cf - $(NAME)-$(VERSION) | gzip > $(NAME)-$(VERSION).tar.gz
@rm -rf $(NAME)-$(VERSION)
install: all
@printf "$(NAME) -> install:\n"
@printf " $(DESTDIR)$(MANDIR)/man1/$(NAME).1\n"
@mkdir -p $(DESTDIR)$(BINDIR) $(DESTDIR)$(MANDIR)/man1
@sed "s/VERSION/$(VERSION)/g" < $(NAME).1 > $(DESTDIR)$(MANDIR)/man1/$(NAME).1
@printf " $(DESTDIR)$(BINDIR)/$(NAME)\n"
@cp -f $(NAME) $(DESTDIR)$(BINDIR)
uninstall:
@printf "$(NAME) -> uninstall:\n"
@printf " $(DESTDIR)$(BINDIR)/$(NAME)\n"
@rm -f $(DESTDIR)$(BINDIR)/$(NAME)
@printf " $(DESTDIR)$(MANDIR)/man1/$(NAME).1\n"
@rm -f $(DESTDIR)$(MANDIR)/man1/$(NAME).1
clean:
@printf "$(NAME) -> clean build directory:\n"
@printf " $(NAME)-$(VERSION).tar.gz\n"
@rm -f $(NAME)-$(VERSION).tar.gz
@printf " $(NAME)\n"
@rm -f $(NAME)
@printf " $(OBJ)\n"
@rm -f $(OBJ)
man:
@printf " $(NAME).1\n"
@rm -f $(NAME).1
.PHONY: all
install uninstall dist clean man