Makefile

Wed, 31 Aug 2016 14:41:56 +0200

author
Mike Becker <universe@uap-core.de>
date
Wed, 31 Aug 2016 14:41:56 +0200
changeset 55
bf54085ce341
parent 54
b3f24e23bc25
child 61
47a5fc33590a
child 66
1b12cf799fee
permissions
-rw-r--r--

adds appropriate public API

universe@0 1 #
universe@0 2 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
universe@0 3 #
universe@35 4 # Copyright 2016 Mike Becker. All rights reserved.
universe@0 5 #
universe@0 6 # Redistribution and use in source and binary forms, with or without
universe@0 7 # modification, are permitted provided that the following conditions are met:
universe@0 8 #
universe@0 9 # 1. Redistributions of source code must retain the above copyright
universe@0 10 # notice, this list of conditions and the following disclaimer.
universe@0 11 #
universe@0 12 # 2. Redistributions in binary form must reproduce the above copyright
universe@0 13 # notice, this list of conditions and the following disclaimer in the
universe@0 14 # documentation and/or other materials provided with the distribution.
universe@0 15 #
universe@0 16 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
universe@0 17 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
universe@0 18 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
universe@0 19 # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
universe@0 20 # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
universe@0 21 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
universe@0 22 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
universe@0 23 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
universe@0 24 # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
universe@0 25 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
universe@0 26 # POSSIBILITY OF SUCH DAMAGE.
universe@0 27 #
universe@0 28
universe@37 29 # available configs: gcc, clang
universe@37 30 CONF=gcc
universe@0 31
universe@37 32 include $(CONF).mk
universe@37 33
universe@55 34 SRC = frontend.c
universe@55 35 SRC += c2html.c
universe@52 36 SRC += highlighter.c
universe@39 37 SRC += ucx/allocator.c
universe@39 38 SRC += ucx/buffer.c
universe@39 39 SRC += ucx/list.c
universe@39 40 SRC += ucx/string.c
universe@39 41 SRC += ucx/utils.c
universe@37 42
universe@37 43 OBJ = $(SRC:%.c=build/%$(OBJ_EXT))
universe@37 44
universe@39 45 all: build/ucx build/$(BIN)
universe@0 46
universe@37 47 build/$(BIN): $(OBJ)
universe@37 48 $(LD) -o $@ $^ $(LDFLAGS)
universe@37 49
universe@37 50 build/%$(OBJ_EXT): src/%.c
universe@37 51 $(CC) -o $@ $(CFLAGS) -c $<
universe@37 52
universe@39 53 build/ucx: build
universe@39 54 $(MKDIR) $@
universe@39 55
universe@0 56 build:
universe@39 57 $(MKDIR) $@
universe@0 58
universe@54 59 test: all
universe@30 60 ./build/$(BIN) test/ctestfile.c -o build/ctest.html \
universe@25 61 -H test/header.html -F test/footer.html
universe@30 62 ./build/$(BIN) -j test/javatestfile.java -o build/javatest.html \
universe@30 63 -H test/jheader.html -F test/footer.html
universe@30 64 ./build/$(BIN) test/bigtestfile.c -o build/bigtest.html \
universe@25 65 -H test/header.html -F test/footer.html
universe@30 66 ./build/$(BIN) -p test/plain.csp -o build/plain.html \
universe@22 67 -H test/header.html -F test/footer.html
universe@41 68
universe@41 69 test-v2-regression: test
universe@41 70 diff build/ctest.html test/v2-regression/ctest.html && \
universe@41 71 diff build/javatest.html test/v2-regression/javatest.html && \
universe@41 72 diff build/bigtest.html test/v2-regression/bigtest.html && \
universe@41 73 diff build/plain.html test/v2-regression/plain.html
universe@41 74
universe@0 75 clean:
universe@37 76 $(RM) $(RMFLAGS) build

mercurial