add dos makefile; prevent work laptop claude from invading my space

This commit is contained in:
Gregory Gauthier 2026-01-28 09:26:42 +00:00
parent e745f40ffc
commit 150182d09f
2 changed files with 107 additions and 0 deletions

2
.gitignore vendored
View File

@ -1,3 +1,5 @@
.grok/
.claude/
.idea/ .idea/
build/ build/
cmake-build-debug/ cmake-build-debug/

105
MAKEFILE.DOS Normal file
View File

@ -0,0 +1,105 @@
# MAKEFILE.DOS - Borland Turbo C/C++ Makefile for Cordle
# Usage: make -f makefile.dos
#
# Requirements:
# - Borland Turbo C++ 3.x or compatible
# - PDCurses library for DOS (PDCURSES.LIB)
#
# Memory Model: Small (default) or Medium for larger word lists
# Adjust TC_DIR and PDCURSES_DIR to match your installation paths
# Turbo C installation directory
TC_DIR = C:\TC
# PDCurses installation directory
PDCURSES_DIR = C:\PDCURSES
# Compiler and linker
CC = $(TC_DIR)\BIN\TCC
LINK = $(TC_DIR)\BIN\TLINK
# Memory model: s=small, m=medium, c=compact, l=large, h=huge
MODEL = h
# Compiler flags
# -m$(MODEL) = memory model
# -w = enable warnings
# -N = check stack overflow
# -I = include paths
# -D__MSDOS__ = define DOS platform
CFLAGS = -m$(MODEL) -w -N -I$(TC_DIR)\INCLUDE -IINCLUDE -I$(PDCURSES_DIR) -D__MSDOS__
# Linker flags
LIBS = $(PDCURSES_DIR)\PDCURSES.LIB
STARTUP = $(TC_DIR)\LIB\C0$(MODEL).OBJ
STDLIBS = $(TC_DIR)\LIB\C$(MODEL).LIB
# Directories
SRC_DIR = SRC
BUILD_DIR = BUILD
# Object files
OBJS = $(BUILD_DIR)\MAIN.OBJ $(BUILD_DIR)\GAME.OBJ $(BUILD_DIR)\UI.OBJ $(BUILD_DIR)\WORDS.OBJ
# Target executable
TARGET = $(BUILD_DIR)\CORDLE.EXE
# Default target
all: dirs $(TARGET) copywords
# Create build directory
dirs:
IF NOT EXIST $(BUILD_DIR) MD $(BUILD_DIR)
# Compile individual source files
$(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
$(CC) $(CFLAGS) -c -o$(BUILD_DIR)\GAME.OBJ $(SRC_DIR)\GAME.C
$(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
$(CC) $(CFLAGS) -c -o$(BUILD_DIR)\WORDS.OBJ $(SRC_DIR)\WORDS.C
# Link executable
$(TARGET): $(OBJS)
$(LINK) /x /c $(STARTUP) $(OBJS),$(TARGET),,$(LIBS) $(STDLIBS)
# Copy word lists to build directory
copywords:
IF NOT EXIST $(BUILD_DIR)\WORDS MD $(BUILD_DIR)\WORDS
COPY WORDS\*.TXT $(BUILD_DIR)\WORDS
# Clean build artifacts
clean:
IF EXIST $(BUILD_DIR)\*.OBJ DEL $(BUILD_DIR)\*.OBJ
IF EXIST $(BUILD_DIR)\*.EXE DEL $(BUILD_DIR)\*.EXE
IF EXIST $(BUILD_DIR)\*.MAP DEL $(BUILD_DIR)\*.MAP
IF EXIST $(BUILD_DIR)\WORDS\*.TXT DEL $(BUILD_DIR)\WORDS\*.TXT
IF EXIST $(BUILD_DIR)\WORDS RD $(BUILD_DIR)\WORDS
IF EXIST $(BUILD_DIR) RD $(BUILD_DIR)
# Rebuild everything
rebuild: clean all
# Help
help:
@ECHO Cordle DOS Makefile - Borland Turbo C++
@ECHO ========================================
@ECHO.
@ECHO Targets:
@ECHO all - Build the game (default)
@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