Mercurial > paster
changeset 35:32f8c5251aa1
make: simplify and use libraries, closes #2479
author | David Demelier <markand@malikania.fr> |
---|---|
date | Wed, 12 Feb 2020 13:05:00 +0100 |
parents | 030efbd7340f |
children | 2d789367bf1e |
files | Makefile |
diffstat | 1 files changed, 14 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/Makefile Wed Feb 12 12:50:00 2020 +0100 +++ b/Makefile Wed Feb 12 13:05:00 2020 +0100 @@ -35,6 +35,7 @@ CORE_HDRS= config.h database.h http.h log.h paste.h util.h CORE_OBJS= ${CORE_SRCS:.c=.o} CORE_DEPS= ${CORE_SRCS:.c=.d} +CORE_LIB= libpaster.a TESTS_SRCS= tests/test-database.c TESTS_OBJS= ${TESTS_SRCS:.c=} @@ -43,6 +44,7 @@ -DSQLITE_OMIT_LOAD_EXTENSION \ -DSQLITE_OMIT_DEPRECATED \ -DSQLITE_DEFAULT_FOREIGN_KEYS=1 +SQLITE_LIB= libsqlite3.a MY_CFLAGS= -std=c18 \ -I. -Iextern \ @@ -64,32 +66,31 @@ ${CC} ${MY_CFLAGS} -MMD -Iextern -c $< .c: - ${CC} ${MY_CFLAGS} $< -o $@ ${CORE_OBJS} extern/libsqlite3.a ${MY_LDFLAGS} + ${CC} ${MY_CFLAGS} $< -o $@ ${CORE_LIB} ${SQLITE_LIB} ${MY_LDFLAGS} .in: sed -e "s|@SHAREDIR@|${SHAREDIR}|" \ -e "s|@VARDIR@|${VARDIR}|" \ < $< > $@ -extern/sqlite3.o: extern/sqlite3.c extern/sqlite3.h - ${CC} ${MY_CFLAGS} ${SQLITE_FLAGS} -c $< -o $@ - -extern/libsqlite3.a: extern/sqlite3.o +${SQLITE_LIB}: extern/sqlite3.c extern/sqlite3.h + ${CC} ${CFLAGS} ${SQLITE_FLAGS} -c $< -o extern/sqlite3.o ${AR} -rc $@ extern/sqlite3.o -pasterd: ${CORE_OBJS} extern/libsqlite3.a pasterd.o pasterd.8 - ${CC} -o $@ ${CORE_OBJS} pasterd.o ${MY_LDFLAGS} extern/libsqlite3.a +${CORE_LIB}: ${CORE_OBJS} + ${AR} -rc $@ ${CORE_OBJS} -pasterd-clean: ${OBJS} extern/libsqlite3.a pasterd-clean.o pasterd-clean.8 - ${CC} -o $@ ${CORE_OBJS} pasterd-clean.o ${MY_LDFLAGS} extern/libsqlite3.a +pasterd: ${CORE_LIB} ${SQLITE_LIB} pasterd.o pasterd.8 + +pasterd-clean: ${CORE_LIB} ${SQLITE_LIB} pasterd-clean.o pasterd-clean.8 paster: paster.sh paster.1 cp paster.sh paster chmod +x paster clean: - rm -f extern/sqlite3.o extern/libsqlite3.a - rm -f ${CORE_OBJS} ${CORE_DEPS} + rm -f ${SQLITE_LIB} extern/sqlite3.o + rm -f ${CORE_LIB} ${CORE_OBJS} ${CORE_DEPS} rm -f pasterd pasterd.d pasterd.o pasterd.8 rm -f pasterd-clean pasterd-clean.d pasterd-clean.o pasterd-clean.8 rm -f paster paster.1 @@ -117,6 +118,7 @@ mkdir -p paster-${VERSION} cp -R extern paster-${VERSION} cp -R themes paster-${VERSION} + cp -R tests paster-${VERSION} cp ${CORE_SRCS} ${CORE_HDRS} paster-${VERSION} cp pasterd.8.in pasterd.c paster-${VERSION} cp pasterd-clean.8.in pasterd-clean.c paster-${VERSION} @@ -126,7 +128,7 @@ tar -cJf paster-${VERSION}.tar.xz paster-${VERSION} rm -rf paster-${VERSION} -${TESTS_OBJS}: ${CORE_OBJS} extern/libsqlite3.a +${TESTS_OBJS}: ${CORE_LIB} ${SQLITE_LIB} tests: ${TESTS_OBJS} for t in ${TESTS_OBJS}; do $$t; done