aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--Makefile70
1 files changed, 21 insertions, 49 deletions
diff --git a/Makefile b/Makefile
index 30d2b86..a708475 100644
--- a/Makefile
+++ b/Makefile
@@ -3,61 +3,33 @@
# notice and this notice are preserved. This file is offered as-is,
# without any warranty.
-PREFIX = /usr
-BIN = /bin
-BINDIR = $(PREFIX)$(BIN)
-DATA = /share
-DATADIR = $(PREFIX)$(DATA)
-LICENSEDIR = $(DATADIR)/licenses
+CONFIGFILE = config.mk
+include $(CONFIGFILE)
-PKGNAME = autopasswd
-COMMAND = autopasswd
+all: autopasswd
-OPTIMISE = -O3
+.o:
+ $(CC) -o $@ $< $(LDFLAGS)
-WARN = -Wall -Wextra -pedantic -Wdouble-promotion -Wformat=2 -Winit-self -Wmissing-include-dirs \
- -Wtrampolines -Wfloat-equal -Wshadow -Wmissing-prototypes -Wmissing-declarations \
- -Wredundant-decls -Wnested-externs -Winline -Wno-variadic-macros -Wswitch-default \
- -Wsync-nand -Wunsafe-loop-optimizations -Wcast-align -Wstrict-overflow -Wundef \
- -Wbad-function-cast -Wcast-qual -Wpacked -Wlogical-op -Wstrict-prototypes -Wconversion \
- -Wold-style-definition -Wvector-operation-performance -Wunsuffixed-float-constants \
- -Wsuggest-attribute=const -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure \
- -Wsuggest-attribute=format -Wnormalized=nfkc -Wdeclaration-after-statement
+.c.o:
+ $(CC) -c -o $@ $< $(CFLAGS) $(CPPFLAGS)
-F_OPTS = -ftree-vrp -fstrict-aliasing -fipa-pure-const -fstack-usage -fstrict-overflow \
- -funsafe-loop-optimizations -fno-builtin
+install: autopasswd
+ mkdir -p -- "$(DESTDIR)$(BINDIR)"
+ mkdir -p -- "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)"
+ cp -- autopasswd "$(DESTDIR)$(BINDIR)/$(COMMAND)"
+ cp -- COPYING LICENSE "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)/"
-FLAGS = $(OPTIMISE) -std=gnu99 $(F_OPTS) $(WARN)
-
-
-.PHONY: all
-all: bin/autopasswd
-
-bin/autopasswd: obj/autopasswd.o
- @mkdir -p bin
- $(CC) $(FLAGS) -lpassphrase -largparser -lkeccak -o $@ $^ $(LDFLAGS)
-
-obj/%.o: src/%.c
- @mkdir -p obj
- $(CC) $(FLAGS) -c -o $@ $< $(CFLAGS) $(CPPFLAGS)
-
-
-.PHONY: install
-install: bin/autopasswd
- install -dm755 -- "$(DESTDIR)$(BINDIR)"
- install -m755 bin/autopasswd -- "$(DESTDIR)$(BINDIR)/$(COMMAND)"
- install -dm755 -- "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)"
- install -m644 COPYING LICENSE -- "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)"
-
-
-.PHONY: uninstall
uninstall:
- -rm -- "$(DESTDIR)$(BINDIR)/$(COMMAND)"
- -rm -- "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)/COPYING"
- -rm -- "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)/LICENSE"
+ -rm -f -- "$(DESTDIR)$(BINDIR)/$(COMMAND)"
+ -rm -f -- "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)/COPYING"
+ -rm -f -- "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)/LICENSE"
-rmdir -- "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)"
-
-.PHONY: clean
clean:
- -rm -r bin obj
+ -rm -f -- *.o *.su autopasswd
+
+.SUFFIXES:
+.SUFFIXES: .o .c
+
+.PHONY: all install uninstall clean