39 lines
1.1 KiB
Makefile
39 lines
1.1 KiB
Makefile
LIBRARIES = `pkg-config --libs openssl` -Iinclude
|
|
SOURCES = ./src/* ./cmd/server.c
|
|
OUTPUT_DIR = ./bin
|
|
OUTPUT = -o ${OUTPUT_DIR}/PROG
|
|
INSTALL_OUTPUT = ${OUTPUT_DIR}/PROG
|
|
|
|
build: output_dir
|
|
gcc -Wall ${LIBRARIES} ${SOURCES} ${OUTPUT:PROG=seaweb}
|
|
|
|
debug: output_dir
|
|
gcc -Wall -g ${LIBRARIES} ${SOURCES} ${OUTPUT:PROG=seaweb}
|
|
|
|
install:
|
|
mv ${INSTALL_OUTPUT:PROG=server} /usr/bin/
|
|
|
|
output_dir:
|
|
mkdir -p ${OUTPUT_DIR}
|
|
mkdir -p ./log
|
|
|
|
CERT_DIR = ./certs/
|
|
|
|
clean:
|
|
rm -rf $(OUTPUT_DIR) ${CERT_DIR} **.h.gch
|
|
|
|
genCerts:
|
|
mkdir -p ${CERT_DIR}
|
|
touch ${CERT_DIR}index.txt
|
|
openssl req -x509 -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 \
|
|
-sha256 -nodes -out ${CERT_DIR}cacert.pem -keyout ${CERT_DIR}cakey.pem \
|
|
-outform PEM -subj "/C=US/ST=Some-State/L=[]/O=[]/CN=localhost"
|
|
openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 \
|
|
-nodes -days 365 -out ${CERT_DIR}cert.csr -keyout ${CERT_DIR}key.pem \
|
|
-subj "/C=US/ST=Some-State/L=[]/O=[]/CN=localhost"
|
|
openssl ca -policy signing_policy -extensions signing_req \
|
|
-cert ./certs/cacert.pem -keyfile ./certs/cakey.pem \
|
|
-rand_serial -config ./ca/ca.cnf \
|
|
-out ./certs/cert.pem -infiles ./certs/cert.csr
|
|
|