diff options
author | 2023-05-10 12:14:46 +0200 | |
---|---|---|
committer | 2023-05-10 12:14:46 +0200 | |
commit | 70ff2c82446c8a1d42dae6538defdccd88896e8c (patch) | |
tree | b8f9e735c5eec4bbbfeaa7a53e119b4cdcebec3b /Makefile | |
parent | 753816f04b3aaf8c1f17e688a8dd6ffe71fc9d57 (diff) | |
download | utils-70ff2c82446c8a1d42dae6538defdccd88896e8c.tar.gz utils-70ff2c82446c8a1d42dae6538defdccd88896e8c.zip |
Ehnance building system
Is the same as liblog.
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 76 |
1 files changed, 31 insertions, 45 deletions
@@ -1,58 +1,44 @@ # See LICENSE file for copyright and license details. -CC = cc -SRC != find src -name '*.c' -OBJ = ${SRC:.c=.o} -NAME = utils +include config.mk -LIBNAME = lib${NAME} -SHARED = ${LIBNAME}.so -ARCHIVE = ${LIBNAME}.a -DISTNAME = ${LIBNAME}-${VERSION} +dist: static shared -VERSION = 0.0.1 +static: + @make OPT='-O2 -pipe -Werror' ${LIBNAME:=.a} + rm -f ${OBJ} -PREFIX = /usr/local -WARNINGS = -Wall -Werror -pedantic -STANDARD = -std=c99 -CFLAGS = -DVERSION='"${VERSION}"' ${WARNINGS} ${STANDARD} -fPIC -LFLAGS = -shared +shared: + @make OPT='-O2 -pipe -Werror -fPIC' ${LIBNAME:=.so} + rm -f ${OBJ} -all: ${SHARED} ${ARCHIVE} +debug: + @make OPT=-g all -.c.o: - ${CC} -c ${CFLAGS} $< -o $@ +${LIBNAME:=.so}: ${OBJ} + ${CC} ${LDFLAGS} -shared ${OBJ} -o $@ -${SHARED}: ${OBJ} - ${CC} ${LFLAGS} -o $@ ${OBJ} - -${ARCHIVE}: ${OBJ} +${LIBNAME:=.a}: ${OBJ} ar rcs $@ ${OBJ} +.c.o: + ${CC} ${CFLAGS} -c $< -o $@ + clean: - rm -f ${SHARED} ${ARCHIVE} - rm -f ${OBJ} - rm -f ${DISTNAME}.tar.gz - @make -C test $@ - -dist: clean - mkdir -p ${DISTNAME} - cp -R LICENSE Makefile DOSmakefile README.md src test ${DISTNAME} - tar -cf ${DISTNAME}.tar ${DISTNAME} - gzip ${DISTNAME}.tar - rm -rf ${DISTNAME} - -install: all - mkdir -p ${PREFIX}/lib/${NAME} - cp ${SHARED} ${PREFIX}/lib/${NAME}/ - cp ${ARCHIVE} ${PREFIX}/lib/${NAME}/ - mkdir -p ${PREFIX}/include/${NAME} - cp src/list.h ${PREFIX}/include/${NAME}/ - cp src/map.h ${PREFIX}/include/${NAME}/ + rm -f ${OBJ} ${LIBNAME}.* *.core + cd test && make clean -uninstall: - rm -rf ${PREFIX}/lib/${NAME} - rm -rf ${PREFIX}/include/${NAME} +tests: dist + cd test && make clean tests -tests: all - @make -C test +install: dist + cp src/utils.h ${PREFIX}/include/utils.h + cp ${LIBNAME:=.so} ${PREFIX}/lib/${LIBNAME:=.so} + cp ${LIBNAME:=.a} ${PREFIX}/lib/${LIBNAME:=.a} + cp utils.pc ${PKG_CONFIG_PATH}/utils.pc + +uninstall: + rm -f ${PREFIX}/include/utils.h + rm -f ${PREFIX}/lib/${LIBNAME:=.so} + rm -f ${PREFIX}/lib/${LIBNAME:=.a} + rm -f ${PKG_CONFIG_PATH}/utils.pc |