fix makefile make GameState static
This commit is contained in:
parent
150182d09f
commit
ed13cf62d1
220
MAKEFILE.DOS
220
MAKEFILE.DOS
@ -1,105 +1,115 @@
|
|||||||
# MAKEFILE.DOS - Borland Turbo C/C++ Makefile for Cordle
|
# MAKEFILE.DOS - Borland Turbo C/C++ Makefile for Cordle
|
||||||
# Usage: make -f makefile.dos
|
# Usage: make -f makefile.dos
|
||||||
#
|
#
|
||||||
# Requirements:
|
# Requirements:
|
||||||
# - Borland Turbo C++ 3.x or compatible
|
# - Borland Turbo C++ 3.x or compatible
|
||||||
# - PDCurses library for DOS (PDCURSES.LIB)
|
# - PDCurses library for DOS (PDCURSES.LIB)
|
||||||
#
|
#
|
||||||
# Memory Model: Small (default) or Medium for larger word lists
|
# Memory Model: Small (default) or Medium for larger word lists
|
||||||
# Adjust TC_DIR and PDCURSES_DIR to match your installation paths
|
# Adjust TC_DIR and PDCURSES_DIR to match your installation paths
|
||||||
|
|
||||||
# Turbo C installation directory
|
# Turbo C installation directory
|
||||||
TC_DIR = C:\TC
|
TC_DIR = C:\TC
|
||||||
|
|
||||||
# PDCurses installation directory
|
# PDCurses installation directory
|
||||||
PDCURSES_DIR = C:\PDCURSES
|
PDCURSES_DIR = D:\PDC39\DOS
|
||||||
|
|
||||||
# Compiler and linker
|
# Compiler and linker
|
||||||
CC = $(TC_DIR)\BIN\TCC
|
CC = $(TC_DIR)\BIN\TCC
|
||||||
LINK = $(TC_DIR)\BIN\TLINK
|
LINK = $(TC_DIR)\BIN\TLINK
|
||||||
|
|
||||||
# Memory model: s=small, m=medium, c=compact, l=large, h=huge
|
# Memory model: s=small, m=medium, c=compact, l=large, h=huge
|
||||||
MODEL = h
|
MODEL = h
|
||||||
|
|
||||||
# Compiler flags
|
# Compiler flags
|
||||||
# -m$(MODEL) = memory model
|
# -m$(MODEL) = memory model
|
||||||
# -w = enable warnings
|
# -w = enable warnings
|
||||||
# -N = check stack overflow
|
# -N = check stack overflow
|
||||||
# -I = include paths
|
# -I = include paths
|
||||||
# -D__MSDOS__ = define DOS platform
|
# -D__MSDOS__ = define DOS platform
|
||||||
CFLAGS = -m$(MODEL) -w -N -I$(TC_DIR)\INCLUDE -IINCLUDE -I$(PDCURSES_DIR) -D__MSDOS__
|
CFLAGS = -m$(MODEL) -w -N -I$(TC_DIR)\INCLUDE -IINCLUDE -I$(PDCURSES_DIR) -D__MSDOS__
|
||||||
|
|
||||||
# Linker flags
|
# Linker flags
|
||||||
LIBS = $(PDCURSES_DIR)\PDCURSES.LIB
|
LIBS = $(PDCURSES_DIR)\PDCURSES.LIB
|
||||||
STARTUP = $(TC_DIR)\LIB\C0$(MODEL).OBJ
|
STARTUP = $(TC_DIR)\LIB\C0$(MODEL).OBJ
|
||||||
STDLIBS = $(TC_DIR)\LIB\C$(MODEL).LIB
|
STDLIBS = $(TC_DIR)\LIB\C$(MODEL).LIB
|
||||||
|
|
||||||
# Directories
|
# Directories
|
||||||
SRC_DIR = SRC
|
SRC_DIR = SRC
|
||||||
BUILD_DIR = BUILD
|
BUILD_DIR = BUILD
|
||||||
|
|
||||||
# Object files
|
# Object files
|
||||||
OBJS = $(BUILD_DIR)\MAIN.OBJ $(BUILD_DIR)\GAME.OBJ $(BUILD_DIR)\UI.OBJ $(BUILD_DIR)\WORDS.OBJ
|
OBJS = $(BUILD_DIR)\MAIN.OBJ $(BUILD_DIR)\GAME.OBJ $(BUILD_DIR)\UI.OBJ $(BUILD_DIR)\WORDS.OBJ
|
||||||
|
|
||||||
# Target executable
|
# Target executable
|
||||||
TARGET = $(BUILD_DIR)\CORDLE.EXE
|
TARGET = $(BUILD_DIR)\CORDLE.EXE
|
||||||
|
|
||||||
# Default target
|
# Default target
|
||||||
all: dirs $(TARGET) copywords
|
all: dirs $(TARGET) copywords
|
||||||
|
|
||||||
# Create build directory
|
# Create build directory
|
||||||
dirs:
|
dirs:
|
||||||
IF NOT EXIST $(BUILD_DIR) MD $(BUILD_DIR)
|
IF NOT EXIST $(BUILD_DIR) MD $(BUILD_DIR)
|
||||||
|
|
||||||
# Compile individual source files
|
# Compile individual source files
|
||||||
$(BUILD_DIR)\MAIN.OBJ: $(SRC_DIR)\MAIN.C
|
$(BUILD_DIR)\MAIN.OBJ: $(SRC_DIR)\MAIN.C
|
||||||
$(CC) $(CFLAGS) -c -o$(BUILD_DIR)\MAIN.OBJ $(SRC_DIR)\MAIN.C
|
$(CC) $(CFLAGS) -c -o$(BUILD_DIR)\MAIN.OBJ $(SRC_DIR)\MAIN.C
|
||||||
|
|
||||||
$(BUILD_DIR)\GAME.OBJ: $(SRC_DIR)\GAME.C
|
$(BUILD_DIR)\GAME.OBJ: $(SRC_DIR)\GAME.C
|
||||||
$(CC) $(CFLAGS) -c -o$(BUILD_DIR)\GAME.OBJ $(SRC_DIR)\GAME.C
|
$(CC) $(CFLAGS) -c -o$(BUILD_DIR)\GAME.OBJ $(SRC_DIR)\GAME.C
|
||||||
|
|
||||||
$(BUILD_DIR)\UI.OBJ: $(SRC_DIR)\UI.C
|
$(BUILD_DIR)\UI.OBJ: $(SRC_DIR)\UI.C
|
||||||
$(CC) $(CFLAGS) -c -o$(BUILD_DIR)\UI.OBJ $(SRC_DIR)\UI.C
|
$(CC) $(CFLAGS) -c -o$(BUILD_DIR)\UI.OBJ $(SRC_DIR)\UI.C
|
||||||
|
|
||||||
$(BUILD_DIR)\WORDS.OBJ: $(SRC_DIR)\WORDS.C
|
$(BUILD_DIR)\WORDS.OBJ: $(SRC_DIR)\WORDS.C
|
||||||
$(CC) $(CFLAGS) -c -o$(BUILD_DIR)\WORDS.OBJ $(SRC_DIR)\WORDS.C
|
$(CC) $(CFLAGS) -c -o$(BUILD_DIR)\WORDS.OBJ $(SRC_DIR)\WORDS.C
|
||||||
|
|
||||||
# Link executable
|
# Link executable using response file to avoid command line length limits
|
||||||
$(TARGET): $(OBJS)
|
$(TARGET): $(OBJS)
|
||||||
$(LINK) /x /c $(STARTUP) $(OBJS),$(TARGET),,$(LIBS) $(STDLIBS)
|
@ECHO $(STARTUP) + > $(BUILD_DIR)\LINK.RSP
|
||||||
|
@ECHO $(BUILD_DIR)\MAIN.OBJ + >> $(BUILD_DIR)\LINK.RSP
|
||||||
# Copy word lists to build directory
|
@ECHO $(BUILD_DIR)\GAME.OBJ + >> $(BUILD_DIR)\LINK.RSP
|
||||||
copywords:
|
@ECHO $(BUILD_DIR)\UI.OBJ + >> $(BUILD_DIR)\LINK.RSP
|
||||||
IF NOT EXIST $(BUILD_DIR)\WORDS MD $(BUILD_DIR)\WORDS
|
@ECHO $(BUILD_DIR)\WORDS.OBJ >> $(BUILD_DIR)\LINK.RSP
|
||||||
COPY WORDS\*.TXT $(BUILD_DIR)\WORDS
|
@ECHO $(TARGET) >> $(BUILD_DIR)\LINK.RSP
|
||||||
|
@ECHO. >> $(BUILD_DIR)\LINK.RSP
|
||||||
# Clean build artifacts
|
@ECHO $(LIBS) + >> $(BUILD_DIR)\LINK.RSP
|
||||||
clean:
|
@ECHO $(STDLIBS) >> $(BUILD_DIR)\LINK.RSP
|
||||||
IF EXIST $(BUILD_DIR)\*.OBJ DEL $(BUILD_DIR)\*.OBJ
|
$(LINK) /x /c @$(BUILD_DIR)\LINK.RSP
|
||||||
IF EXIST $(BUILD_DIR)\*.EXE DEL $(BUILD_DIR)\*.EXE
|
|
||||||
IF EXIST $(BUILD_DIR)\*.MAP DEL $(BUILD_DIR)\*.MAP
|
# Copy word lists to build directory
|
||||||
IF EXIST $(BUILD_DIR)\WORDS\*.TXT DEL $(BUILD_DIR)\WORDS\*.TXT
|
copywords:
|
||||||
IF EXIST $(BUILD_DIR)\WORDS RD $(BUILD_DIR)\WORDS
|
IF NOT EXIST $(BUILD_DIR)\WORDS MD $(BUILD_DIR)\WORDS
|
||||||
IF EXIST $(BUILD_DIR) RD $(BUILD_DIR)
|
COPY WORDS\*.TXT $(BUILD_DIR)\WORDS
|
||||||
|
|
||||||
# Rebuild everything
|
# Clean build artifacts
|
||||||
rebuild: clean all
|
clean:
|
||||||
|
IF EXIST $(BUILD_DIR)\*.OBJ DEL $(BUILD_DIR)\*.OBJ
|
||||||
# Help
|
IF EXIST $(BUILD_DIR)\*.EXE DEL $(BUILD_DIR)\*.EXE
|
||||||
help:
|
IF EXIST $(BUILD_DIR)\*.MAP DEL $(BUILD_DIR)\*.MAP
|
||||||
@ECHO Cordle DOS Makefile - Borland Turbo C++
|
IF EXIST $(BUILD_DIR)\*.RSP DEL $(BUILD_DIR)\*.RSP
|
||||||
@ECHO ========================================
|
IF EXIST $(BUILD_DIR)\WORDS\*.TXT DEL $(BUILD_DIR)\WORDS\*.TXT
|
||||||
@ECHO.
|
IF EXIST $(BUILD_DIR)\WORDS RD $(BUILD_DIR)\WORDS
|
||||||
@ECHO Targets:
|
IF EXIST $(BUILD_DIR) RD $(BUILD_DIR)
|
||||||
@ECHO all - Build the game (default)
|
|
||||||
@ECHO clean - Remove build artifacts
|
# Rebuild everything
|
||||||
@ECHO rebuild - Clean and rebuild
|
rebuild: clean all
|
||||||
@ECHO help - Show this help
|
|
||||||
@ECHO.
|
# Help
|
||||||
@ECHO Configuration:
|
help:
|
||||||
@ECHO Edit TC_DIR and PDCURSES_DIR paths at top of makefile
|
@ECHO Cordle DOS Makefile - Borland Turbo C++
|
||||||
@ECHO Change MODEL for different memory models (s/m/c/l)
|
@ECHO ========================================
|
||||||
@ECHO.
|
@ECHO.
|
||||||
@ECHO Requirements:
|
@ECHO Targets:
|
||||||
@ECHO - Borland Turbo C++ 3.x
|
@ECHO all - Build the game (default)
|
||||||
@ECHO - PDCurses library for DOS
|
@ECHO clean - Remove build artifacts
|
||||||
|
@ECHO rebuild - Clean and rebuild
|
||||||
|
@ECHO help - Show this help
|
||||||
|
@ECHO.
|
||||||
|
@ECHO Configuration:
|
||||||
|
@ECHO Edit TC_DIR and PDCURSES_DIR paths at top of makefile
|
||||||
|
@ECHO Change MODEL for different memory models (s/m/c/l)
|
||||||
|
@ECHO.
|
||||||
|
@ECHO Requirements:
|
||||||
|
@ECHO - Borland Turbo C++ 3.x
|
||||||
|
@ECHO - PDCurses library for DOS
|
||||||
|
|||||||
@ -55,7 +55,7 @@ static void parse_arguments(int argc, char **argv, char *filename, char *difficu
|
|||||||
/* Main game loop */
|
/* Main game loop */
|
||||||
static int main_game_loop(int argc, char *argv[]) {
|
static int main_game_loop(int argc, char *argv[]) {
|
||||||
WINDOW *stdscr;
|
WINDOW *stdscr;
|
||||||
GameState game;
|
static GameState game;
|
||||||
char filename[MAX_FILENAME];
|
char filename[MAX_FILENAME];
|
||||||
char difficulty[32];
|
char difficulty[32];
|
||||||
char message[MAX_MESSAGE] = "";
|
char message[MAX_MESSAGE] = "";
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user