aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
blob: f5da2e961b265728912edcb2373685ec3bc31ae2 (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
CFLAGS = -std=gnu11 -Wall -Wextra 
LDFLAGS = -Wl,--as-needed

ifeq ($(DEBUG), 1)
	CFLAGS += -Og -g
else
	CFLAGS += -O2
endif

INSTALL = install -Dm755

prefix = /usr/local
bindir = $(prefix)/bin

all:
	@echo 'Error, target not specified.'
	@make --no-print-directory help

help:
	@echo 'Usage:'
	@echo '	To compile <filename>.c	`make <filename>`'
	@echo '	To install <filename>	`make target=<filename> install`'
	@echo '	To uninstall <filename>	`make target=<filename> uninstall`'
	@echo '	To clean up		`make clean`'


$(DESTDIR)$(bindir)/%: %
	$(INSTALL) $^ $(DESTDIR)$(bindir)/$(target)

install: $(DESTDIR)$(bindir)/$(target)

uninstall:
	$(RM) "$(DESTDIR)$(bindir)/$(target)"

clean:
	find . -mindepth 1 -maxdepth 1 -executable -type f ! -name "prefix_header" -delete

.PHONY : all install uninstall clean