Tue, 23 Aug 2016 12:05:41 +0200
adds version number and changes build system
Makefile | file | annotate | diff | comparison | revisions | |
clang.mk | file | annotate | diff | comparison | revisions | |
conf.mk | file | annotate | diff | comparison | revisions | |
gcc.mk | file | annotate | diff | comparison | revisions | |
src/Makefile | file | annotate | diff | comparison | revisions | |
src/c2html.c | file | annotate | diff | comparison | revisions | |
src/c2html.h | file | annotate | diff | comparison | revisions |
--- a/Makefile Fri Mar 04 15:02:22 2016 +0100 +++ b/Makefile Tue Aug 23 12:05:41 2016 +0200 @@ -26,17 +26,31 @@ # POSSIBILITY OF SUCH DAMAGE. # -include conf.mk +# available configs: gcc, clang +CONF=gcc + +include $(CONF).mk + -all: clean compile +SRC = c2html.c +SRC += codegens.c +SRC += ccodegen.c +SRC += javacodegen.c + +OBJ = $(SRC:%.c=build/%$(OBJ_EXT)) + +all: build build/$(BIN) -compile: build - cd src; $(MAKE) - +build/$(BIN): $(OBJ) + $(LD) -o $@ $^ $(LDFLAGS) + +build/%$(OBJ_EXT): src/%.c + $(CC) -o $@ $(CFLAGS) -c $< + build: $(MKDIR) build -test: compile +test: build/$(BIN) ./build/$(BIN) test/ctestfile.c -o build/ctest.html \ -H test/header.html -F test/footer.html ./build/$(BIN) -j test/javatestfile.java -o build/javatest.html \ @@ -46,4 +60,4 @@ ./build/$(BIN) -p test/plain.csp -o build/plain.html \ -H test/header.html -F test/footer.html clean: - $(RM) -f -R build + $(RM) $(RMFLAGS) build
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/clang.mk Tue Aug 23 12:05:41 2016 +0200 @@ -0,0 +1,40 @@ +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. +# +# Copyright 2016 Mike Becker. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# 2. 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. +# + +# system related +MKDIR = mkdir +RM = rm +RMFLAGS = -fR + +# build related +BIN = c2html +CC = clang +CFLAGS = -O2 +LD = clang +LDFLAGS = +OBJ_EXT = .o
--- a/conf.mk Fri Mar 04 15:02:22 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,39 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright 2016 Mike Becker. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# 2. 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. -# - -# system related -MKDIR = mkdir -RM = rm - -# build related -BIN = c2html -CC = gcc -CFLAGS = -O2 -std=gnu99 -LD = gcc -LDFLAGS = -OBJ_EXT = .o
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gcc.mk Tue Aug 23 12:05:41 2016 +0200 @@ -0,0 +1,40 @@ +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. +# +# Copyright 2016 Mike Becker. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# 2. 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. +# + +# system related +MKDIR = mkdir +RM = rm +RMFLAGS = -fR + +# build related +BIN = c2html +CC = gcc +CFLAGS = -O2 -std=gnu99 +LD = gcc +LDFLAGS = +OBJ_EXT = .o
--- a/src/Makefile Fri Mar 04 15:02:22 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,44 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright 2016 Mike Becker. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# 2. 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. -# - -include ../conf.mk - -SRC = c2html.c -SRC += codegens.c -SRC += ccodegen.c -SRC += javacodegen.c - -OBJ = $(SRC:%.c=../build/%$(OBJ_EXT)) - -all: $(OBJ) - $(LD) -o ../build/$(BIN) $^ $(LDFLAGS) - - -../build/%$(OBJ_EXT): %.c - $(CC) -o $@ $(CFLAGS) -c $< -
--- a/src/c2html.c Fri Mar 04 15:02:22 2016 +0100 +++ b/src/c2html.c Tue Aug 23 12:05:41 2016 +0200 @@ -111,9 +111,8 @@ " -F <footer> Append footer file\n" " -p Disable highlighting (plain text)\n" " -l Disable line numbers\n" + " -V, -v Prints version and exits\n" "\n"); - - } int lnint(size_t lnc) { @@ -221,7 +220,7 @@ int lang = C2HTML_C; char optc; - while ((optc = getopt(argc, argv, "hljo:pH:F:")) != -1) { + while ((optc = getopt(argc, argv, "hljo:pH:F:vV")) != -1) { switch (optc) { case 'o': if (!(optarg[0] == '-' && optarg[1] == 0)) { @@ -246,6 +245,14 @@ case 'h': printhelp(); return 0; + case 'v': + case 'V': +#ifdef VERSION_DEVELOP + printf("%d.%d (unstable)\n", VERSION_MAJOR, VERSION_MINOR); +#else + printf("%d.%d\n", VERSION_MAJOR, VERSION_MINOR); +#endif + return 0; default: return 1; }
--- a/src/c2html.h Fri Mar 04 15:02:22 2016 +0100 +++ b/src/c2html.h Tue Aug 23 12:05:41 2016 +0200 @@ -43,6 +43,10 @@ #ifdef __cplusplus extern "C" { #endif + +#define VERSION_MAJOR 2 +#define VERSION_MINOR 0 +#define VERSION_DEVELOP 1 // set this to zero for release version #define INPUTBUF_SIZE 2048