diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..f5da2e9 --- /dev/null +++ b/Makefile @@ -0,0 +1,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 |