Makefile

Tue, 23 Aug 2016 13:49:38 +0200

author
Mike Becker <universe@uap-core.de>
date
Tue, 23 Aug 2016 13:49:38 +0200
changeset 39
ac35daceb24c
parent 37
1a67185e5496
child 41
c06ab07fd29d
permissions
-rw-r--r--

adds UCX + changes how the input file is read (uses an consecutive memory area now)

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

mercurial