shepherd/Makefile
jedi 26b6b53b8c
All checks were successful
continuous-integration/drone/push Build is passing
prepare for packaging
2020-12-14 20:30:28 +01:00

53 lines
1.1 KiB
Makefile

CC = gcc
CXX = g++
LD = g++
CXXFLAGS = -std=c++17 -Wall -Werror -Wpointer-arith -Wfatal-errors
CFLAGS = -Wall -Werror -Wpointer-arith -Wfatal-errors
#prefix=/usr/local
OBJECTS = build/memdb.o build/spmemvfs.o build/crypto.o build/Manager.o build/Database.o
all: shepherd
build/shepherd: build/shepherd.o $(OBJECTS)
@mkdir -p $(dir $@)
@echo link $@
@$(LD) $(CXXFLAGS) $^ -o $@ -lsqlite3 -lsodium -lstdc++fs
build/test: build/shepherd.o $(OBJECTS)
@mkdir -p $(dir $@)
@echo link $@
@$(LD) $(CXXFLAGS) $^ -o $@ -lsqlite3 -lsodium -lstdc++fs
build/%.o: src/%.cpp src/%.h
@mkdir -p $(dir $@)
@echo compile $@
@$(CXX) $(CXXFLAGS) -c -o $@ $<
build/%.o: src/%.c src/%.h
@mkdir -p $(dir $@)
@echo compile $@
@$(CC) $(CFLAGS) -c -o $@ $<
rsa: rsa.cpp
@mkdir -p bin
$(CC) $(CFLAGS) rsa.cpp -o bin/rsa -lssl -lcrypto
install: build/shepherd
install -m 0755 $^ $(DESTDIR)/usr/bin
shepherd: build/shepherd
#.PHONY: test
#test: build/test
# test/test.sh test/test.db
# remove produced files, invoke as "make clean"
clean:
@echo clean build/*
@rm -f build/*
#%.o : %.cpp
# $(CC) $(CFLAGS) -c $^ -o $@