mirror of https://github.com/ericonr/purr-c.git
45 lines
1.0 KiB
Makefile
45 lines
1.0 KiB
Makefile
PREFIX = /usr/local
|
|
|
|
INC = -Iextern
|
|
OPT = -O2
|
|
WARN = -Wall -Wextra -Werror=implicit
|
|
CFLAGS = $(OPT) -g -pipe
|
|
LDLIBS = -lbearssl -lsbearssl -lskarnet
|
|
LDFLAGS = -Wl,--as-needed
|
|
|
|
BASEENCODE = extern/libbaseencode/baseencode.a
|
|
BASEENCODEOBJS = extern/libbaseencode/base64.o extern/libbaseencode/base32.o
|
|
LIBS = $(BASEENCODE)
|
|
LIBSOBJS = $(BASEENCODEOBJS)
|
|
|
|
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
|
|
|
|
TEST = tests
|
|
TOBJS = tests.o formats.o urls.o mmap_file.o
|
|
|
|
all: $(FINAL)
|
|
|
|
check: $(TEST)
|
|
./tests
|
|
|
|
$(OBJS) $(TOBJS): $(HEADERS)
|
|
$(OBJS) $(TOBJS): CFLAGS += $(WARN)
|
|
encrypt.o: CFLAGS += $(INC)
|
|
|
|
purr: $(OBJS) $(LIBS)
|
|
tests: $(TOBJS) $(LIBS)
|
|
|
|
$(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
|
|
|
|
clean:
|
|
rm -f $(FINAL) $(OBJS) $(TEST) $(TOBJS) $(LIBS) $(LIBSOBJS)
|