1.1 --- a/src/chess/Makefile Sun Oct 01 12:53:35 2023 +0200 1.2 +++ b/src/chess/Makefile Sun Oct 01 13:56:42 2023 +0200 1.3 @@ -28,17 +28,37 @@ 1.4 1.5 include ../../config.mk 1.6 1.7 -SRC = pawn.c rook.c knight.c bishop.c queen.c king.c \ 1.8 - rules.c pgn.c 1.9 +SRC = pawn.c rook.c knight.c bishop.c queen.c king.c rules.c pgn.c 1.10 +OBJ = $(SRC:%.c=$(BUILDDIR)/%.o) 1.11 1.12 -OBJ = $(SRC:%.c=$(BUILDDIR)/%$(OBJ_EXT)) 1.13 +all: $(BUILDDIR)/libchess$(LIB_EXT) FORCE 1.14 1.15 -all: $(BUILDDIR) $(OBJ) 1.16 - $(AR) $(ARFLAGS) $(BUILDDIR)/libchess$(LIB_EXT) $(OBJ) 1.17 +$(BUILDDIR)/libchess$(LIB_EXT): $(OBJ) 1.18 + $(AR) $(ARFLAGS) $@ $^ 1.19 1.20 -$(BUILDDIR)/%$(OBJ_EXT): %.c 1.21 +FORCE: 1.22 + 1.23 +$(BUILDDIR)/pawn.o: pawn.c pawn.h rules.h 1.24 $(CC) -o $@ $(CFLAGS) -c $< 1.25 - 1.26 -$(BUILDDIR): 1.27 - $(MKDIR) $(MKDIRFLAGS) $(BUILDDIR) 1.28 - 1.29 + 1.30 +$(BUILDDIR)/pgn.o: pgn.c pgn.h rules.h 1.31 + $(CC) -o $@ $(CFLAGS) -c $< 1.32 + 1.33 +$(BUILDDIR)/rules.o: rules.c rules.h chess.h pawn.h rook.h \ 1.34 + knight.h bishop.h queen.h king.h pgn.h 1.35 + $(CC) -o $@ $(CFLAGS) -c $< 1.36 + 1.37 +$(BUILDDIR)/bishop.o: bishop.c bishop.h rules.h 1.38 + $(CC) -o $@ $(CFLAGS) -c $< 1.39 + 1.40 +$(BUILDDIR)/knight.o: knight.c knight.h rules.h 1.41 + $(CC) -o $@ $(CFLAGS) -c $< 1.42 + 1.43 +$(BUILDDIR)/queen.o: queen.c rules.h rook.h bishop.h queen.h 1.44 + $(CC) -o $@ $(CFLAGS) -c $< 1.45 + 1.46 +$(BUILDDIR)/king.o: king.c rules.h king.h 1.47 + $(CC) -o $@ $(CFLAGS) -c $< 1.48 + 1.49 +$(BUILDDIR)/rook.o: rook.c rules.h rook.h 1.50 + $(CC) -o $@ $(CFLAGS) -c $<