CC = gcc
#PROF = -p
#NOCRYPT =
# The lines below are for debugging information
USE_GDB = gdb
DEBUG_LEVEL = 2
# The program executable's name
PROG_NAME = 13C
# Uncomment the two lines below if compiling on a Solaris box
#SOLARIS_FLAG = -Dsun -DSYSV
#SOLARIS_LINK = -lnsl -lsocket
# Uncomment the line below if compiling on a RedHat (and possibly other Linux) box
#OS = -DLINUX
# Uncomment the line below if compiling on a Win32 box
#OS = -DWIN32
# Uncomment the line below if you are getting a line like:
#interp.c:757: warning: int format, time_t arg (arg 7)
#TIME = -DTIMEFORMAT
# Uncomment the line below if you are getting undefined crypt errors
NEED_CRYPT = -lcrypt
#IMC2 - Comment out to disable IMC2 support
IMC = 1
# Directory locations of important lib files
LIBDIR = ./lib
# Modify the lines below if you want a performance increase though beware your core
# files may not be as much of a benefit if you do. Suggested OPT_FLAG: -O
OPT_LEVEL =
OPT_FLAG = -O$(OPT_LEVEL)
# Format check flags
#FMT_FLG = -Wformat -Wformat-security -Wmissing-format-attribute
# Warning check flags
WRN_FLG = -Wall
# Compile and Link flags
CMP_FLG = -g$(USE_GDB)$(DEBUG_LEVEL) $(WRN_FLG) $(FMT_FLG)
C_FLAGS = $(OPT_FLAG) $(CMP_FLG) $(PROF) $(NOCRYPT) $(SOLARIS_FLAG) $(TIME) $(OS)
L_FLAGS = $(OPT_FLAG) $(PROF) $(SOLARIS_LINK) $(NEED_CRYPT) -L$(LIBDIR)
# Listing of all '.o' files necessary to create the program binary
O_FILES = act_comm.o act_info.o act_move.o act_obj.o act_wiz.o ban.o bank.o boards.o \
build.o colorize.o comm.o comments.o const.o copyover.o db.o deity.o factions.o \
fight.o handler.o hashstr.o ident.o imm_host.o interp.o magic.o misc.o mud_comm.o \
mud_prog.o news.o player.o polymorph.o quest.o reset.o save.o services.o shops.o \
skills.o special.o tables.o track.o update.o
# Listing of all '.c' files necessary to create the program binary (similar to above)
C_FILES = act_comm.c act_info.c act_move.c act_obj.c act_wiz.c ban.c bank.c boards.c \
build.c colorize.c comm.c comments.c const.c copyover.c db.c deity.c factions.c \
fight.c handler.c hashstr.c ident.c imm_host.c interp.c magic.c misc.c mud_comm.c \
mud_prog.c news.c player.c polymorph.c quest.c reset.c save.c services.c shops.c \
skills.c special.c tables.c track.c update.c
# Listing of all '.h' files necessary to create the program binary
H_FILES = auction.h ban.h bank.h copyover.h councils.h deity.h factions.h files.h language.h \
mud.h news.h polymorph.h quest.h
ifdef IMC
C_FILES := imc.c sha256.c $(C_FILES)
O_FILES := imc.o sha256.o $(O_FILES)
C_FLAGS := $(C_FLAGS) -DIMC -DIMCSMAUG
endif
all:
@echo ""
@echo "(@)=======[ Chronicles Codebase ]=======(@)"
@echo " Checking Chronicles, recompiling if necessary "
@$(MAKE) $(PROG_NAME)
@echo " ..done"
@echo "(@)=====================================(@)"
$(PROG_NAME): $(O_FILES)
@echo ""
@echo " Compiling MUD systems into binary now "
@rm -f $(PROG_NAME)
@$(CC) -o $(PROG_NAME) $(O_FILES) $(L_FLAGS)
@chmod 700 $(PROG_NAME)
@chmod 700 $(O_FILES)
.c.o: $(H_FILES)
$(CC) -c $(C_FLAGS) $<
clean:
@echo "(@)=======[ Chronicles Codebase ]=======(@)"
@echo " Cleaning up object and binary files "
@rm -f *.o $(PROG_NAME) *~
@echo " ..done"
@echo "(@)=====================================(@)"