Tue, 28 Aug 2018 14:03:09 +0200
simplifies Makefiles
Makefile | file | annotate | diff | comparison | revisions | |
src/Makefile | file | annotate | diff | comparison | revisions | |
src/chess/Makefile | file | annotate | diff | comparison | revisions | |
src/chess/conf.mk | file | annotate | diff | comparison | revisions |
1.1 --- a/Makefile Tue Aug 28 13:45:22 2018 +0200 1.2 +++ b/Makefile Tue Aug 28 14:03:09 2018 +0200 1.3 @@ -28,17 +28,19 @@ 1.4 1.5 include conf.mk 1.6 1.7 +ROOTDIR=$(shell pwd) 1.8 + 1.9 all: chess 1.10 - cd src; $(MAKE) 1.11 + cd src; $(MAKE) BUILDDIR=$(ROOTDIR)/build/release 1.12 1.13 debug: chess-debug 1.14 - cd src; $(MAKE) debug 1.15 + cd src; $(MAKE) BUILDDIR=$(ROOTDIR)/build/debug CFLAGS="${CFLAGS_D}" 1.16 1.17 chess: 1.18 - cd src/chess; $(MAKE) BUILDDIR=../../build CONFIG=../../conf.mk 1.19 + cd src/chess; $(MAKE) BUILDDIR=$(ROOTDIR)/build/release 1.20 1.21 chess-debug: 1.22 - cd src/chess; $(MAKE) debug BUILDDIR=../../build CONFIG=../../conf.mk 1.23 + cd src/chess; $(MAKE) BUILDDIR=$(ROOTDIR)/build/debug CFLAGS="${CFLAGS_D}" 1.24 1.25 clean: 1.26 $(RM) $(RMFLAGS) build
2.1 --- a/src/Makefile Tue Aug 28 13:45:22 2018 +0200 2.2 +++ b/src/Makefile Tue Aug 28 14:03:09 2018 +0200 2.3 @@ -36,26 +36,15 @@ 2.4 SRC += client.c 2.5 SRC += game.c 2.6 2.7 -OBJ = $(SRC:%.c=../build/release/%$(OBJ_EXT)) 2.8 -OBJ_D = $(SRC:%.c=../build/debug/%$(OBJ_EXT)) 2.9 +OBJ = $(SRC:%.c=$(BUILDDIR)/%$(OBJ_EXT)) 2.10 2.11 -all: ../build/release $(OBJ) 2.12 - $(LD) -o ../build/release/$(BIN) $(OBJ) \ 2.13 - ../build/release/chess$(LIB_EXT) $(LDFLAGS) 2.14 +all: $(BUILDDIR) $(OBJ) 2.15 + $(LD) -o $(BUILDDIR)/$(BIN) $(OBJ) \ 2.16 + $(BUILDDIR)/chess$(LIB_EXT) $(LDFLAGS) 2.17 2.18 -debug: ../build/debug $(OBJ_D) 2.19 - $(LD) -o ../build/debug/$(BIN) $(OBJ_D) \ 2.20 - ../build/debug/chess$(LIB_EXT) $(LDFLAGS) 2.21 +$(BUILDDIR)/%$(OBJ_EXT): %.c 2.22 + $(CC) -o $@ $(CFLAGS) -c $< 2.23 + 2.24 +$(BUILDDIR): 2.25 + $(MKDIR) $(MKDIRFLAGS) $(BUILDDIR) 2.26 2.27 -../build/release/%$(OBJ_EXT): %.c 2.28 - $(CC) -o $@ $(CFLAGS) -c $< 2.29 - 2.30 -../build/debug/%$(OBJ_EXT): %.c 2.31 - $(CC) -o $@ $(CFLAGS_D) -c $< 2.32 - 2.33 -../build/release: 2.34 - $(MKDIR) $(MKDIRFLAGS) ../build/release 2.35 - 2.36 -../build/debug: 2.37 - $(MKDIR) $(MKDIRFLAGS) ../build/debug 2.38 -
3.1 --- a/src/chess/Makefile Tue Aug 28 13:45:22 2018 +0200 3.2 +++ b/src/chess/Makefile Tue Aug 28 14:03:09 2018 +0200 3.3 @@ -26,10 +26,7 @@ 3.4 # POSSIBILITY OF SUCH DAMAGE. 3.5 # 3.6 3.7 -BUILDDIR = ../build 3.8 -CONFIG = conf.mk 3.9 - 3.10 -include $(CONFIG) 3.11 +include ../../conf.mk 3.12 3.13 SRC += pawn.c 3.14 SRC += rook.c 3.15 @@ -40,29 +37,14 @@ 3.16 SRC += rules.c 3.17 SRC += pgn.c 3.18 3.19 -OBJ = $(SRC:%.c=$(BUILDDIR)/release/%$(OBJ_EXT)) 3.20 -OBJ_D = $(SRC:%.c=$(BUILDDIR)/debug/%$(OBJ_EXT)) 3.21 +OBJ = $(SRC:%.c=$(BUILDDIR)/%$(OBJ_EXT)) 3.22 3.23 -all: $(BUILDDIR)/release $(OBJ) 3.24 - $(AR) $(ARFLAGS) $(BUILDDIR)/release/chess$(LIB_EXT) $(OBJ) 3.25 +all: $(BUILDDIR) $(OBJ) 3.26 + $(AR) $(ARFLAGS) $(BUILDDIR)/chess$(LIB_EXT) $(OBJ) 3.27 3.28 -debug: $(BUILDDIR)/debug $(OBJ_D) 3.29 - $(AR) $(ARFLAGS) $(BUILDDIR)/debug/chess$(LIB_EXT) $(OBJ_D) 3.30 - 3.31 -$(BUILDDIR)/release/%$(OBJ_EXT): %.c 3.32 +$(BUILDDIR)/%$(OBJ_EXT): %.c 3.33 $(CC) -o $@ $(CFLAGS) -c $< 3.34 3.35 -$(BUILDDIR)/debug/%$(OBJ_EXT): %.c 3.36 - $(CC) -o $@ $(CFLAGS_D) -c $< 3.37 - 3.38 $(BUILDDIR): 3.39 $(MKDIR) $(MKDIRFLAGS) $(BUILDDIR) 3.40 - 3.41 -clear: 3.42 - $(RM) $(RMFLAGS) $(BUILDDIR) 3.43 - 3.44 - $(BUILDDIR)/release: 3.45 - $(MKDIR) $(MKDIRFLAGS) $(BUILDDIR)/release 3.46 - 3.47 - $(BUILDDIR)/debug: 3.48 - $(MKDIR) $(MKDIRFLAGS) $(BUILDDIR)/debug 3.49 + 3.50 \ No newline at end of file
4.1 --- a/src/chess/conf.mk Tue Aug 28 13:45:22 2018 +0200 4.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 4.3 @@ -1,41 +0,0 @@ 4.4 -# 4.5 -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 4.6 -# 4.7 -# Copyright 2016 Mike Becker. All rights reserved. 4.8 -# 4.9 -# Redistribution and use in source and binary forms, with or without 4.10 -# modification, are permitted provided that the following conditions are met: 4.11 -# 4.12 -# 1. Redistributions of source code must retain the above copyright 4.13 -# notice, this list of conditions and the following disclaimer. 4.14 -# 4.15 -# 2. Redistributions in binary form must reproduce the above copyright 4.16 -# notice, this list of conditions and the following disclaimer in the 4.17 -# documentation and/or other materials provided with the distribution. 4.18 -# 4.19 -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 4.20 -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 4.21 -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 4.22 -# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 4.23 -# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 4.24 -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 4.25 -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 4.26 -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 4.27 -# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 4.28 -# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 4.29 -# POSSIBILITY OF SUCH DAMAGE. 4.30 -# 4.31 - 4.32 -MKDIR = mkdir 4.33 -RM = rm 4.34 -AR = ar 4.35 - 4.36 -CC = gcc 4.37 -CFLAGS_D = -g -std=gnu99 -Wall -pedantic 4.38 -CFLAGS = -O2 -std=gnu99 4.39 -ARFLAGS = -r 4.40 -MKDIRFLAGS = -p 4.41 -RMFLAGS = -f -R 4.42 - 4.43 -OBJ_EXT = .o 4.44 -LIB_EXT = .a