Makefile

Tue, 23 Aug 2016 12:05:41 +0200

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

adds version number and changes build system

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

mercurial