mirror of
https://github.com/omar-polo/gmid.git
synced 2024-09-28 13:31:48 +02:00
1610f9541d
now it resembles less oconfigure and more the configure scripts I'm using in my recent projects. I'd argue it's more easy to use it.
118 lines
2.7 KiB
Makefile
118 lines
2.7 KiB
Makefile
# tests to run as a port of the regression suite. Leave empty to run
|
|
# all.
|
|
TESTS=
|
|
|
|
DISTFILES = Makefile \
|
|
env \
|
|
err \
|
|
example.mime.types \
|
|
fcgi-test.c \
|
|
fill-file.c \
|
|
hello \
|
|
invalid \
|
|
iri_test.c \
|
|
lib.sh \
|
|
max-length-reply \
|
|
puny-test.c \
|
|
regress \
|
|
serve-bigfile \
|
|
slow \
|
|
tests.sh \
|
|
valid.ext
|
|
|
|
include ../config.mk
|
|
|
|
COBJS = ${COMPATS:.c=.o}
|
|
REG_COMPATS = ${COBJS:%=../%}
|
|
|
|
PUNY_SRCS = puny-test.c ../puny.c ../utf8.c ../utils.c ../log.c
|
|
PUNY_OBJS = ${PUNY_SRCS:.c=.o} ${REG_COMPATS}
|
|
|
|
IRI_SRCS = iri_test.c ../iri.c ../utf8.c
|
|
IRI_OBJS = ${IRI_SRCS:.c=.o} ${REG_COMPATS}
|
|
|
|
.PHONY: all data clean dist
|
|
|
|
all: data puny-test iri_test fcgi-test
|
|
./regress ${TESTS}
|
|
|
|
data: testdata cert.pem testca.pem valid.crt invalid.cert.pem
|
|
|
|
puny-test: ${PUNY_OBJS}
|
|
${CC} ${PUNY_OBJS} -o puny-test ${LIBS} ${LDFLAGS}
|
|
|
|
iri_test: ${IRI_OBJS}
|
|
${CC} ${IRI_OBJS} -o $@ ${LIBS} ${LDFLAGS}
|
|
|
|
fill-file: fill-file.o
|
|
${CC} fill-file.o -o $@ ${LIBS} ${LDFLAGS}
|
|
|
|
fcgi-test: fcgi-test.o
|
|
${CC} fcgi-test.o ${REG_COMPATS} -o fcgi-test ${LIBS} ${LDFLAGS}
|
|
|
|
key.pem: cert.pem
|
|
|
|
# XXX: key size is NOT GOOD. This is only for testing. Smaller keys
|
|
# are quicker to generate. DON'T DO THIS AT HOME.
|
|
cert.pem:
|
|
openssl req -x509 -newkey rsa:2048 \
|
|
-keyout key.pem \
|
|
-out cert.pem \
|
|
-days 365 -nodes \
|
|
-subj "/CN=localhost"
|
|
ln -s cert.pem localhost.cert.pem
|
|
ln -s key.pem localhost.key.pem
|
|
@echo
|
|
|
|
testca.pem:
|
|
openssl genrsa -out testca.key 2048
|
|
openssl req -x509 -new -sha256 \
|
|
-key testca.key \
|
|
-days 365 -nodes \
|
|
-out testca.pem \
|
|
-subj "/CN=testca"
|
|
@echo
|
|
|
|
valid.crt: testca.pem
|
|
openssl genrsa -out valid.key 2048
|
|
openssl req -new -key valid.key \
|
|
-out valid.csr \
|
|
-subj "/CN=valid"
|
|
@echo
|
|
openssl x509 -req -in valid.csr \
|
|
-CA testca.pem \
|
|
-CAkey testca.key \
|
|
-CAcreateserial \
|
|
-out valid.crt \
|
|
-days 365 \
|
|
-sha256 -extfile valid.ext
|
|
|
|
invalid.cert.pem: cert.pem
|
|
cp cert.pem invalid.cert.pem
|
|
cp key.pem invalid.key.pem
|
|
|
|
clean:
|
|
rm -f *.o iri_test cert.pem key.pem
|
|
rm -f localhost.cert.pem localhost.key.pem
|
|
rm -f testca.* valid.csr valid.key valid.crt invalid.*pem
|
|
rm -rf testdata fill-file puny-test fcgi-test
|
|
rm -f gmid.pid fcgi.sock
|
|
|
|
testdata: fill-file
|
|
mkdir testdata
|
|
./fill-file testdata/bigfile
|
|
printf "# hello world\n" > testdata/index.gmi
|
|
cp hello slow err invalid serve-bigfile env testdata/
|
|
cp max-length-reply testdata
|
|
mkdir testdata/dir
|
|
date > 'testdata/dir/current date'
|
|
cp hello testdata/dir
|
|
cp testdata/index.gmi testdata/dir/foo.gmi
|
|
touch testdata/test.m3u8 testdata/foo.1
|
|
|
|
dist: ${DISTFILES}
|
|
mkdir -p ${DESTDIR}/
|
|
${INSTALL} -m 0644 ${DISTFILES} ${DESTDIR}/
|
|
cd ${DESTDIR}/ && chmod +x env err hello invalid \
|
|
max-length-reply regress slow
|