src/chess/Makefile

changeset 72
7e58e0f74e50
parent 71
0bdb910478cc
     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 $<

mercurial