Makefile

Mon, 13 Nov 2017 13:52:00 +0100

author
Mike Becker <universe@uap-core.de>
date
Mon, 13 Nov 2017 13:52:00 +0100
changeset 61
47a5fc33590a
parent 55
bf54085ce341
child 62
3fff4c364ffc
permissions
-rw-r--r--

ucx is now used as external library

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@37 37
universe@37 38 OBJ = $(SRC:%.c=build/%$(OBJ_EXT))
universe@37 39
universe@39 40 all: build/ucx build/$(BIN)
universe@0 41
universe@37 42 build/$(BIN): $(OBJ)
universe@37 43 $(LD) -o $@ $^ $(LDFLAGS)
universe@37 44
universe@37 45 build/%$(OBJ_EXT): src/%.c
universe@37 46 $(CC) -o $@ $(CFLAGS) -c $<
universe@37 47
universe@39 48 build/ucx: build
universe@39 49 $(MKDIR) $@
universe@39 50
universe@0 51 build:
universe@39 52 $(MKDIR) $@
universe@0 53
universe@54 54 test: all
universe@30 55 ./build/$(BIN) test/ctestfile.c -o build/ctest.html \
universe@25 56 -H test/header.html -F test/footer.html
universe@30 57 ./build/$(BIN) -j test/javatestfile.java -o build/javatest.html \
universe@30 58 -H test/jheader.html -F test/footer.html
universe@30 59 ./build/$(BIN) test/bigtestfile.c -o build/bigtest.html \
universe@25 60 -H test/header.html -F test/footer.html
universe@30 61 ./build/$(BIN) -p test/plain.csp -o build/plain.html \
universe@22 62 -H test/header.html -F test/footer.html
universe@41 63
universe@41 64 test-v2-regression: test
universe@41 65 diff build/ctest.html test/v2-regression/ctest.html && \
universe@41 66 diff build/javatest.html test/v2-regression/javatest.html && \
universe@41 67 diff build/bigtest.html test/v2-regression/bigtest.html && \
universe@41 68 diff build/plain.html test/v2-regression/plain.html
universe@41 69
universe@0 70 clean:
universe@37 71 $(RM) $(RMFLAGS) build

mercurial