src/Makefile

Sun, 01 Oct 2023 13:56:42 +0200

author
Mike Becker <universe@uap-core.de>
date
Sun, 01 Oct 2023 13:56:42 +0200
changeset 72
7e58e0f74e50
parent 71
0bdb910478cc
permissions
-rw-r--r--

improve Makefiles

     1 #
     2 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
     3 #
     4 # Copyright 2016 Mike Becker. All rights reserved.
     5 #
     6 # Redistribution and use in source and binary forms, with or without
     7 # modification, are permitted provided that the following conditions are met:
     8 #
     9 #   1. Redistributions of source code must retain the above copyright
    10 #      notice, this list of conditions and the following disclaimer.
    11 #
    12 #   2. Redistributions in binary form must reproduce the above copyright
    13 #      notice, this list of conditions and the following disclaimer in the
    14 #      documentation and/or other materials provided with the distribution.
    15 #
    16 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    17 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    18 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    19 # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
    20 # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    21 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    22 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    23 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    24 # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    25 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    26 # POSSIBILITY OF SUCH DAMAGE.
    27 #
    29 include ../config.mk
    31 SRC  = main.c colors.c network.c input.c server.c client.c game.c
    32 OBJ = $(SRC:%.c=$(BUILDDIR)/%.o)
    34 all: $(BUILDDIR)/terminal-chess FORCE
    36 $(BUILDDIR)/terminal-chess: $(OBJ) $(BUILDDIR)/libchess$(LIB_EXT)
    37 	$(CC) -o $@ $(LDFLAGS) $^
    39 $(BUILDDIR)/libchess$(LIB_EXT): FORCE
    40 	cd chess; $(MAKE)
    42 FORCE:
    45 $(BUILDDIR)/client.o: client.c terminal-chess.h network.h chess/rules.h \
    46  input.h game.h chess/chess.h chess/rules.h chess/pawn.h chess/rook.h \
    47  chess/knight.h chess/bishop.h chess/queen.h chess/king.h chess/pgn.h
    48 	$(CC) -o $@ $(CFLAGS) -c $<
    50 $(BUILDDIR)/colors.o: colors.c colors.h
    51 	$(CC) -o $@ $(CFLAGS) -c $<
    53 $(BUILDDIR)/game.o: game.c game.h chess/chess.h chess/rules.h \
    54  chess/pawn.h chess/rook.h chess/knight.h chess/bishop.h chess/queen.h \
    55  chess/king.h chess/pgn.h terminal-chess.h network.h chess/rules.h \
    56  input.h colors.h
    57 	$(CC) -o $@ $(CFLAGS) -c $<
    59 $(BUILDDIR)/input.o: input.c input.h
    60 	$(CC) -o $@ $(CFLAGS) -c $<
    62 $(BUILDDIR)/main.o: main.c terminal-chess.h network.h chess/rules.h \
    63  game.h chess/chess.h chess/rules.h chess/pawn.h chess/rook.h \
    64  chess/knight.h chess/bishop.h chess/queen.h chess/king.h chess/pgn.h \
    65  input.h colors.h
    66 	$(CC) -o $@ $(CFLAGS) -c $<
    68 $(BUILDDIR)/network.o: network.c network.h
    69 	$(CC) -o $@ $(CFLAGS) -c $<
    71 $(BUILDDIR)/server.o: server.c terminal-chess.h network.h chess/rules.h \
    72  game.h chess/chess.h chess/rules.h chess/pawn.h chess/rook.h \
    73  chess/knight.h chess/bishop.h chess/queen.h chess/king.h chess/pgn.h
    74 	$(CC) -o $@ $(CFLAGS) -c $<

mercurial