code / ask

Lines831 C761 make38 Markdown32
(44 lines)
1 PREFIX=
2 CC=gcc
3 CFLAGS=-O0 -std=gnu99 -D_XOPEN_SOURCE=500 -D_GNU_SOURCE -D_POSIX_C_SOURCE=200809L \
4 -Wall -Wpedantic -Wno-unknown-pragmas
5 UNAME := $(shell uname)
6 ifeq ($(UNAME),Darwin)
7 CFLAGS += -D_DARWIN_C_SOURCE -Weverything -Wno-missing-field-initializers -Wno-padded\
8 -Wno-missing-noreturn -Wno-cast-qual
9 endif
10 LIBS=
11 NAME=ask
12 G=-g
14 all: $(NAME)
16 clean:
17 rm $(NAME)
19 $(NAME): $(NAME).c bterm.h
20 $(CC) $(NAME).c $(LIBS) $(CFLAGS) $(G) -o $(NAME)
22 install: $(NAME)
23 @prefix="$(PREFIX)"; \
24 if [[ ! $$prefix ]]; then \
25 read -p $$'\033[1mWhere do you want to install? (default: /usr/local) \033[0m' prefix; \
26 fi; \
27 if [[ ! $$prefix ]]; then \
28 prefix="/usr/local"; \
29 fi; \
30 mkdir -pv $$prefix/bin $$prefix/share/man/man1 \
31 && cp -v $(NAME) $$prefix/bin/ \
32 && cp -v $(NAME).1 $$prefix/share/man/man1/
34 uninstall:
35 @prefix="$(PREFIX)"; \
36 if [[ ! $$prefix ]]; then \
37 read -p $$'\033[1mWhere do you want to uninstall from? (default: /usr/local) \033[0m' prefix; \
38 fi; \
39 if [[ ! $$prefix ]]; then \
40 prefix="/usr/local"; \
41 fi; \
42 echo "Deleting..."; \
43 rm -rvf $$prefix/bin/$(NAME) $$prefix/share/man/man1/$(NAME).1