purr-c/makefile

45 lines
1.0 KiB
Makefile
Raw Normal View History

PREFIX = /usr/local
2020-09-12 22:05:06 -05:00
INC = -Iextern
2020-09-13 16:20:15 -05:00
OPT = -O2
2020-09-13 22:09:09 -05:00
WARN = -Wall -Wextra -Werror=implicit
2020-09-13 16:20:15 -05:00
CFLAGS = $(OPT) -g -pipe
2020-09-10 21:11:38 -05:00
LDLIBS = -lbearssl -lsbearssl -lskarnet
LDFLAGS = -Wl,--as-needed
2020-09-10 21:11:38 -05:00
2020-09-12 22:05:06 -05:00
BASEENCODE = extern/libbaseencode/baseencode.a
2020-09-13 16:20:15 -05:00
BASEENCODEOBJS = extern/libbaseencode/base64.o extern/libbaseencode/base32.o
2020-09-12 22:05:06 -05:00
LIBS = $(BASEENCODE)
2020-09-13 16:20:15 -05:00
LIBSOBJS = $(BASEENCODEOBJS)
2020-09-12 22:05:06 -05:00
2020-09-10 21:11:38 -05:00
FINAL = purr
HEADERS = purr.h mmap_file.h
OBJS = purr.o socket.o urls.o files.o comm.o formats.o encrypt.o mmap_file.o
2020-09-10 21:11:38 -05:00
TEST = tests
TOBJS = tests.o formats.o urls.o mmap_file.o
2020-09-10 21:11:38 -05:00
all: $(FINAL)
check: $(TEST)
./tests
$(OBJS) $(TOBJS): $(HEADERS)
$(OBJS) $(TOBJS): CFLAGS += $(WARN)
encrypt.o: CFLAGS += $(INC)
2020-09-12 22:05:06 -05:00
purr: $(OBJS) $(LIBS)
tests: $(TOBJS) $(LIBS)
2020-09-13 16:20:15 -05:00
$(BASEENCODEOBJS): extern/libbaseencode/common.h extern/libbaseencode/baseencode.h
$(BASEENCODE): $(BASEENCODEOBJS)
$(AR) r $@ $^
install: $(FINAL)
install -Dm755 purr $(DESTDIR)$(PREFIX)/bin
ln -sf purr $(DESTDIR)$(PREFIX)/bin/meow
ln -sf purr $(DESTDIR)$(PREFIX)/bin/meowd
2020-09-10 21:11:38 -05:00
clean:
2020-09-13 16:20:15 -05:00
rm -f $(FINAL) $(OBJS) $(TEST) $(TOBJS) $(LIBS) $(LIBSOBJS)