# See LICENSE file for copyright and license details. include config.mk CC = cc # Used for debugging and not as usual OBJ = ${SRC:.c=.o} OPTIM = -O2 -pipe STD = -ansi --std=c89 -pedantic WARNS = -Werror -Wall LDFLAGS = CFLAGS = ${WARNS} ${STD} -DLIBVER=\"${LIBVER}\" ${OPTIM} # CFLAGS for debugging CDFLAGS = ${WARNS} ${STD} -DLIBVER=\"${LIBVER}\" -g all: ${LIBNAME:=.a} ${LIBNAME:=.so} @echo All done. debug: ${OBJ} .c.o: ${CC} ${CDFLAGS} -c $< -o $@ # Make shared and archive directories ${ARDIR} ${SHDIR}: mkdir -p $@ # Make archive file ${LIBNAME:=.a}: ${ARDIR} ${AROBJ} ar rcs $@ ${AROBJ} # Make shared file ${LIBNAME:=.so}: ${SHDIR} ${SHOBJ} ${CC} ${LDFLAGS} -shared ${SHOBJ} -o $@ clean: rm -rf bin ${LIBNAME}.* *.core ${OBJ} cd test && make clean tests: all cd test && make clean tests ${INSTALL_LIB_DIR}: mkdir -p $@ ${INSTALL_INC_DIR}: mkdir -p $@ install: all ${INSTALL_LIB_DIR} ${INSTALL_INC_DIR} cp ${LIBNAME:=.a} ${INSTALL_LIB_DIR}/${LIBNAME:=.a} cp ${LIBNAME:=.so} ${INSTALL_LIB_DIR}/${LIBNAME:=.so} cp src/string2.h ${INSTALL_INC_DIR}/string2.h # Generated by makemk script include target.mk