From: Mike Lowis Date: Wed, 30 Dec 2015 13:18:56 +0000 (+0000) Subject: Added tasks to create release tarballs as well as a readme and license file X-Git-Url: https://git.mdlowis.com/?a=commitdiff_plain;h=612fb85458395f118f849085f616d051da76bebe;p=projs%2Fonward.git Added tasks to create release tarballs as well as a readme and license file --- diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..e050427 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,24 @@ +Copyright (c) 2015, Mike Lowis +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + diff --git a/Makefile b/Makefile index 6adb396..09beef9 100644 --- a/Makefile +++ b/Makefile @@ -3,6 +3,9 @@ #------------------------------------------------------------------------------ # Update these variables according to your requirements. +# version +VERSION = 0.0.1 + # tools CC = c99 LD = ${CC} @@ -22,17 +25,29 @@ ARCHIVE = @echo AR $@; ${AR} ${ARFLAGS} $@ $^ CLEAN = @rm -f #------------------------------------------------------------------------------ -# Build Targets and Rules +# Build-Specific Macros #------------------------------------------------------------------------------ +# Main build settings LIBNAME = onward LIB = lib${LIBNAME}.a BIN = ${LIBNAME} DEPS = ${OBJS:.o=.d} OBJS = source/onward.o source/main.o +# Distribution dir and tarball settings +DISTDIR = ${LIBNAME}-${VERSION} +DISTTAR = ${DISTDIR}.tar +DISTGZ = ${DISTTAR}.gz +DISTFILES = config.mk LICENSE.md Makefile README.md source tests + # load user-specific settings -include config.mk +#------------------------------------------------------------------------------ +# Phony Targets +#------------------------------------------------------------------------------ +.PHONY: all options dist + all: options ${LIB} ${BIN} options: @@ -44,21 +59,32 @@ options: @echo " AR = ${AR}" @echo " ARFLAGS = ${ARFLAGS}" -${LIB}: ${OBJS} - ${ARCHIVE} +dist: clean + @echo DIST ${DISTGZ} + @mkdir -p ${DISTDIR} + @cp -R ${DISTFILES} ${DISTDIR} + @tar -cf ${DISTTAR} ${DISTDIR} + @gzip ${DISTTAR} + @rm -rf ${DISTDIR} -${BIN}: ${LIB} - ${LINK} +clean: + ${CLEAN} ${LIB} ${BIN} ${OBJS} ${DEPS} + ${CLEAN} ${OBJS:.o=.gcno} ${OBJS:.o=.gcda} + ${CLEAN} ${DEPS} ${TEST_DEPS} + ${CLEAN} ${DISTTAR} ${DISTGZ} +#------------------------------------------------------------------------------ +# Target-Specific Rules +#------------------------------------------------------------------------------ .c.o: ${COMPILE} -clean: - ${CLEAN} ${LIB} ${BIN} ${OBJS} ${DEPS} - ${CLEAN} ${OBJS:.o=.gcno} ${OBJS:.o=.gcda} +${LIB}: ${OBJS} + ${ARCHIVE} + +${BIN}: ${LIB} + ${LINK} # load dependency files -include ${DEPS} -.PHONY: all options - diff --git a/README.md b/README.md new file mode 100644 index 0000000..7394bf3 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# Onward