From 150182d09fc80800c3aa9c594acee39778d4b3cf Mon Sep 17 00:00:00 2001 From: Gregory Gauthier Date: Wed, 28 Jan 2026 09:26:42 +0000 Subject: [PATCH] add dos makefile; prevent work laptop claude from invading my space --- .gitignore | 2 + MAKEFILE.DOS | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 107 insertions(+) create mode 100644 MAKEFILE.DOS diff --git a/.gitignore b/.gitignore index 7e1aae6..4acffce 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +.grok/ +.claude/ .idea/ build/ cmake-build-debug/ diff --git a/MAKEFILE.DOS b/MAKEFILE.DOS new file mode 100644 index 0000000..863b0c3 --- /dev/null +++ b/MAKEFILE.DOS @@ -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