tty-solitaire/Makefile

41 lines
1.4 KiB
Makefile

CC = gcc
CFLAGS = -W -Wall -pedantic -ansi -std=c99 -g
LDFLAGS = -lncursesw
EXECUTABLE = ttysolitaire
SRC_DIR = src
SRC = ${SRC_DIR}/ttysolitaire.c
SRC_OBJECTS = ${SRC_DIR}/common.o \
${SRC_DIR}/frame.o \
${SRC_DIR}/card.o \
${SRC_DIR}/stack.o \
${SRC_DIR}/deck.o \
${SRC_DIR}/cursor.o \
${SRC_DIR}/keyboard.o \
${SRC_DIR}/gui.o \
${SRC_DIR}/game.o \
TESTS_EXECUTABLE = ttysolitaire_test
TESTS_DIR = tests
TESTS_SRC = ${TESTS_DIR}/ttysolitaire_test.c
TESTS_OBJECTS = ${TESTS_DIR}/frame_test.o \
${TESTS_DIR}/card_test.o \
${TESTS_DIR}/stack_test.o \
${TESTS_DIR}/deck_test.o \
${TESTS_DIR}/cursor_test.o \
${TESTS_DIR}/keyboard_test.o \
${TESTS_DIR}/gui_test.o \
${TESTS_DIR}/game_test.o \
${TESTS_DIR}/test_helper.o \
${TESTS_DIR}/test_helper_test.o \
ttysolitaire: ${SRC_OBJECTS}
${CC} ${CFLAGS} ${SRC} -o ${EXECUTABLE} ${SRC_OBJECTS} ${LDFLAGS}
test: ${SRC_OBJECTS} ${TESTS_OBJECTS}
@${CC} ${CFLAGS} ${TESTS_SRC} -o ${TESTS_EXECUTABLE} ${TESTS_OBJECTS} ${SRC_OBJECTS} ${LDFLAGS}
@./${TESTS_EXECUTABLE}
clean:
rm -rf {${SRC_DIR},${TESTS_DIR}}/*.o ${EXECUTABLE} ${TESTS_EXECUTABLE}