Makefile refactoring and introducing the 'test' rule.

* Moved the main source file to the lib directory
* ttysolitaire rather than tty-solitaire
This commit is contained in:
Murilo Pereira 2011-02-06 21:28:11 -02:00
parent 0019ad647b
commit 64a278ca99
2 changed files with 42 additions and 25 deletions

View File

@ -1,26 +1,43 @@
CC = gcc
SRC_DIR = src
SRC = ${SRC_DIR}/tty-solitaire.c
CFLAGS = -W -Wall -pedantic -ansi -std=c99
OUTPUT = bin/tty-solitaire
LIB_DIR = lib
DEBUG_DIR = debug
OBJECTS = ${LIB_DIR}/frame.o \
${LIB_DIR}/card.o \
${LIB_DIR}/stack.o \
${LIB_DIR}/deck.o \
${LIB_DIR}/util.o \
${LIB_DIR}/cursor.o \
${LIB_DIR}/keyboard.o \
${LIB_DIR}/display.o \
${LIB_DIR}/game.o \
${DEBUG_DIR}/card_debug.o \
${DEBUG_DIR}/stack_debug.o \
${DEBUG_DIR}/deck_debug.o
CC = gcc
CFLAGS = -W -Wall -pedantic -ansi -std=c99
LDFLAGS = -lncursesw
tty-solitaire: ${OBJECTS}
${CC} ${CFLAGS} ${LDFLAGS} ${SRC} -o ${OUTPUT} ${OBJECTS}
EXECUTABLE = bin/ttysolitaire
LIB_DIR = lib
DEBUG_DIR = debug
SRC = ${LIB_DIR}/ttysolitaire.c
LIB_OBJECTS = ${LIB_DIR}/frame.o \
${LIB_DIR}/card.o \
${LIB_DIR}/stack.o \
${LIB_DIR}/deck.o \
${LIB_DIR}/util.o \
${LIB_DIR}/cursor.o \
${LIB_DIR}/keyboard.o \
${LIB_DIR}/display.o \
${LIB_DIR}/game.o \
${DEBUG_DIR}/card_debug.o \
${DEBUG_DIR}/stack_debug.o \
${DEBUG_DIR}/deck_debug.o \
TEST_EXECUTABLE = bin/ttysolitaire_test
TEST_DIR = test
TEST_SRC = ${TEST_DIR}/ttysolitaire_test.c
TEST_OBJECTS = ${TEST_DIR}/frame_test.o \
${TEST_DIR}/card_test.o \
${TEST_DIR}/stack_test.o \
${TEST_DIR}/deck_test.o \
${TEST_DIR}/util_test.o \
${TEST_DIR}/cursor_test.o \
${TEST_DIR}/keyboard_test.o \
${TEST_DIR}/display_test.o \
${TEST_DIR}/game_test.o \
ttysolitaire: ${LIB_OBJECTS}
${CC} ${CFLAGS} ${LDFLAGS} ${SRC} -o ${EXECUTABLE} ${LIB_OBJECTS}
test: ${TEST_OBJECTS}
${CC} ${CFLAGS} ${LDFLAGS} ${TEST_SRC} -o ${TEST_EXECUTABLE} ${TEST_OBJECTS}
${TEST_EXECUTABLE}
clean:
rm -rf ${LIB_DIR}/*.o ${OUTPUT}
rm -rf {${LIB_DIR},${TEST_DIR}}/*.o ${EXECUTABLE} ${TEST_EXECUTABLE}

View File

@ -1,8 +1,8 @@
#include <stdlib.h>
#include <curses.h>
#include "../lib/util.h"
#include "../lib/game.h"
#include "../lib/keyboard.h"
#include "util.h"
#include "game.h"
#include "keyboard.h"
const char *program_name;