2017-03-03 14:25:57 +01:00
|
|
|
.POSIX:
|
|
|
|
.SUFFIXES:
|
|
|
|
CC = cc
|
2020-05-19 00:35:29 +02:00
|
|
|
CFLAGS = -ansi -pedantic -Wall -Wextra -Wno-missing-field-initializers -O3 -g
|
2017-07-11 21:41:11 +02:00
|
|
|
PREFIX = /usr/local
|
2017-03-03 14:25:57 +01:00
|
|
|
|
2017-03-06 02:20:24 +01:00
|
|
|
sources = src/enchive.c src/chacha.c src/curve25519-donna.c src/sha256.c
|
2017-03-05 18:54:40 +01:00
|
|
|
objects = $(sources:.c=.o)
|
2017-03-06 02:20:24 +01:00
|
|
|
headers = config.h src/docs.h src/chacha.h src/sha256.h src/optparse.h
|
2017-03-03 14:25:57 +01:00
|
|
|
|
|
|
|
enchive: $(objects)
|
|
|
|
$(CC) $(LDFLAGS) -o $@ $(objects) $(LDLIBS)
|
2017-03-06 02:20:24 +01:00
|
|
|
src/enchive.o: src/enchive.c config.h src/docs.h
|
|
|
|
src/chacha.o: src/chacha.c config.h
|
|
|
|
src/curve25519-donna.o: src/curve25519-donna.c config.h
|
|
|
|
src/sha256.o: src/sha256.c config.h
|
2017-03-03 14:25:57 +01:00
|
|
|
|
2017-03-05 18:54:40 +01:00
|
|
|
enchive-cli.c: $(sources) $(headers)
|
2017-03-05 19:03:20 +01:00
|
|
|
cat $(headers) $(sources) | sed -r 's@^(#include +".+)@/* \1 */@g' > $@
|
2017-03-05 18:54:40 +01:00
|
|
|
|
|
|
|
amalgamation: enchive-cli.c
|
|
|
|
|
2017-03-03 14:25:57 +01:00
|
|
|
clean:
|
2017-03-05 18:54:40 +01:00
|
|
|
rm -f enchive $(objects) enchive-cli.c
|
2017-03-03 14:25:57 +01:00
|
|
|
|
2017-07-11 21:41:11 +02:00
|
|
|
install: enchive enchive.1
|
|
|
|
mkdir -p $(DESTDIR)$(PREFIX)/bin
|
|
|
|
mkdir -p $(DESTDIR)$(PREFIX)/share/man/man1
|
2018-05-19 13:41:16 +02:00
|
|
|
install -m 755 enchive $(DESTDIR)$(PREFIX)/bin
|
2017-07-11 21:41:11 +02:00
|
|
|
gzip < enchive.1 > $(DESTDIR)$(PREFIX)/share/man/man1/enchive.1.gz
|
|
|
|
|
|
|
|
uninstall:
|
2017-07-24 18:27:57 +02:00
|
|
|
rm -f $(DESTDIR)$(PREFIX)/bin/enchive
|
|
|
|
rm -f $(DESTDIR)$(PREFIX)/share/man/man1/enchive.1.gz
|
2017-07-11 21:41:11 +02:00
|
|
|
|
2017-03-03 14:25:57 +01:00
|
|
|
.SUFFIXES: .c .o
|
|
|
|
.c.o:
|
|
|
|
$(CC) -c $(CFLAGS) -o $@ $<
|