add dos makefile; prevent work laptop claude from invading my space
This commit is contained in:
parent
e745f40ffc
commit
150182d09f
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,3 +1,5 @@
|
||||
.grok/
|
||||
.claude/
|
||||
.idea/
|
||||
build/
|
||||
cmake-build-debug/
|
||||
|
||||
105
MAKEFILE.DOS
Normal file
105
MAKEFILE.DOS
Normal 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
|
||||
Loading…
Reference in New Issue
Block a user