daleken/
daleken/data/notes/
daleken/data/player/
daleken/data/system/poses/
daleken/doc/Homepage/images/
daleken/log/
# Makefile for Linux 2.xx.xx systems.
# Slight modifications should make it possible for this to
# work on other OS's.
# Standard makefile makes a large executable with debugging information.
# There are optim, profile and archaic options.
#	--Symposium

# Changes you might have to make to password encryption work (or not):
#       remove -lcrypt from LINKLIB line
# Then there are two options:
#       1. use crypt.c: add crypt.o to the O_FILES
#       2. have no encryption: change to NOCRYPT = -DNOCRYPT

TARGET	= daleken.new
CC	= gcc
MAKE	= make --no-print-directory
PROF    =
DEBUG   = -g -DDEBUG
NOCRYPT =
O_FLAGS =
C_FLAGS	= $(O_FLAGS) -Wall -DCYGWIN32 $(DEBUG) $(PROF) $(NOCRYPT)
LINKLIB	= -lm
L_FLAGS	= $(O_FLAGS) $(LINKLIB)       $(DEBUG) $(PROF)

# These are the files that are needed, if you add any files to the system
# please add the name to this list.

O_FILES = act_comm.o act_info.o act_fight.o act_move.o act_obj.o act_wiz.o \
	bit.o comm.o const.o crypt.o db.o fight.o handler.o interp.o \
	magic_def.o magic_misc.o magic_off.o mem.o mob_commands.o mud_prog.o \
	note.o olc.o olc_act.o olc_misc.o olc_save.o religion.o save.o \
	special.o ssm.o string.o update.o

C_FILES = act_comm.c, act_info.c act_fight.c act_move.c act_obj.c act_wiz.c \
	bit.c comm.c const.c crypt.c db.c fight.c handler.c interp.c \
	magic_def.c magic_misc.c magic_off.c mem.c mob_commands.c mud_prog.c \
	note.c olc.c olc_act.c olc_misc.c olc_save.c religion.c save.c \
	special.c ssm.c string.c update.c

all: $(TARGET)
install: $(TARGET)
$(TARGET): $(O_FILES)
	rm -f $(TARGET)
	$(CC) $(L_FLAGS) -o $(TARGET) $(O_FILES)
	@chmod 664 $(O_FILES)	# -rw-rw-r--
	@chmod 2770 $(TARGET)	# -rwxrws---

%.o: %.c
	$(CC) -c $(C_FLAGS) $< -o $@

$(O_FILES): merc.h
olc.o olc_act.o olc_save.o bit.o mem.o db.o mob_prog.o: olc.h

clean:
	rm -f *.o daleken.new *.c~ *.h~

## All the strange ways you might like to compile.
# optim - optimised.
# prof - profiling support
# archaic - make it run on a low spec 386.

optim:
	@echo You have chosen to optimise the code.
	@echo This means you will probably have to wait a little longer.
	$(MAKE) -k O_FLAGS=-O2 DEBUG=

# Profile Daleken with gprof (GNU profiler)
profile:
	@echo Ensure you have done a \"make clean\" before and after a profile make.
	@echo Object files made with profile aren\'t compatible with others.
	$(MAKE) PROF=-pg DEBUG=

archaic:
	@echo Making a special executable for an older computer.
	rm -f *.o daleken.new
	$(MAKE) O_FLAGS="-O2 -mno-486" DEBUG=