diff options
Diffstat (limited to 'Makefile.debug')
-rw-r--r-- | Makefile.debug | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/Makefile.debug b/Makefile.debug new file mode 100644 index 0000000..e727221 --- /dev/null +++ b/Makefile.debug @@ -0,0 +1,58 @@ +CFLAGS = $(shell ncurses5-config --cflags) -Wall -Wundef -Wshadow -D_GNU_SOURCE=1 -fPIC -fomit-frame-pointer -fno-inline -fstrength-reduce -frerun-cse-after-loop -frerun-loop-opt -fexpensive-optimizations -fstrict-aliasing -Os -MD -MP -g +LDFLAGS = $(shell ncurses5-config --libs) -pthread -lrt +CC = gcc +INSTALL = install +STRIP = strip +BIN_NASKP = naskpass +BIN_CHECK = $(BIN_NASKP)_check +BINS = $(BIN_NASKP) $(BIN_CHECK) +SOURCES = $(wildcard src/*.c) +OBJECTS = $(patsubst %.c,%.o,$(SOURCES)) +DEPS = $(patsubst %.c,%.d,$(SOURCES)) + +all: $(OBJECTS) $(BINS) + +%.o: %.c + $(CC) $(CFLAGS) -c $< -o $@ + +$(BIN_NASKP): $(SOURCES) + $(CC) $(LDFLAGS) $(OBJECTS) -o $(BIN_NASKP) + $(MAKE) -C tests CC='$(CC)' CFLAGS='$(CFLAGS)' all + +$(BIN_CHECK): src/check/check.c + $(CC) $(CFLAGS) $(LDFLAGS) src/check/check.c -o $(BIN_CHECK) + +strip: $(OBJECTS) $(BINS) + $(STRIP) $(BIN_NASKP) + $(STRIP) $(BIN_CHECK) + +release: all strip + +debug: + @$(MAKE) CFLAGS='$(CFLAGS) + @$(MAKE) -C tests CFLAGS='$(CFLAGS) + +install: + $(INSTALL) -D -m 0755 $(BIN_NASKP) $(DESTDIR)/lib/cryptsetup/naskpass + $(INSTALL) -D -m 0755 $(BIN_CHECK) $(DESTDIR)/lib/cryptsetup/naskpass_check + $(INSTALL) -D -m 0755 scripts/naskpass.inithook $(DESTDIR)/usr/share/naskpass/naskpass.hook.initramfs + $(INSTALL) -D -m 0755 scripts/naskpass.initscript $(DESTDIR)/usr/share/naskpass/naskpass.script.initramfs + $(INSTALL) -D -m 0755 scripts/naskconf $(DESTDIR)/usr/share/naskpass/naskconf + +uninstall: + rm -f $(DESTDIR)/lib/cryptsetup/naskpass + rm -f $(DESTDIR)/usr/share/initramfs-tools/hooks/naskpass + rm -f $(DESTDIR)/usr/share/naskpass/naskpass.script.initramfs + rm -f $(DESTDIR)/usr/share/naskpass/naskconf + rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share/naskpass + +clean: + rm -f $(DEPS) + rm -f $(OBJECTS) + rm -f $(BINS) + $(MAKE) -C tests clean + +test: + $(MAKE) -C tests run + +.PHONY: all debug release strip install uninstall clean test |