legend/
legend/area/
legend/player/
# Uncomment to optimize, eh?
#OPTIMIZE = 1
CC      = gcc
PROF    = -pipe
NOCRYPT =
DEFNS   = -DMERC
ifndef OPTIMIZE
DEBUG   = $(NDEBUG)
#OPTIM   = $(NOPTIM)
else
#DEBUG   = $(NDEBUG)
OPTIM   = $(NOPTIM)
endif
NDEBUG   = -g -ggdb3 -Wall
NOPTIM   = -O9 -fomit-frame-pointer -m486 -march=i686 -mcpu=i686 -ffast-math -m$
#DYNCPL  = -export-dynamic -fPIC -DUSE_MODULE -rdynamic
#DYNLNK  = -ldl -export-dynamic -fPIC -shared
ECHOCMD = echo -e
EXECFILE= merc
MUDUID  = tijer
MUDGID  = tijer
EXECPRM = 4770
SRCPRM  = 0660
REDIRECT= 2> /dev/null
C_FLAGS := -O  $(PROF) $(NOCRYPT)  -I include -Wall -ggdb3
L_FLAGS = $(PROF) $(OPTIM) $(DEBUG) -lcrypt -lz
#     colorz.
L_RED     = \e[1;31m
L_BLUE    = \e[1;34m
L_GREEN   = \e[1;32m
L_WHITE   = \e[1;37m
L_NRM     = \e[0;00m

# Source files
SRC_FILES := $(wildcard *.c)

# Object files
OBJ_DIR = obj
O_FILES := $(patsubst %.c,$(OBJ_DIR)/%.o,$(SRC_FILES))

all: build merc
	@touch version.c

merc: $(O_FILES)
	@$(ECHOCMD) "[- Rebuilding MUD executable: $(L_BLUE)$(EXECFILE)$(L_NRM) -]"
	@rm -f $(EXECFILE)
	@$(CC) $(DYNLNK) -o $(EXECFILE) $(O_FILES) $(L_FLAGS)
ifndef DEBUG
	@$(ECHOCMD) "[- Debugging symbols were not compiled, stripping executable -]"
	@strip merc
endif

$(OBJ_DIR)/%.o: %.c
	@$(ECHOCMD) "-->   Compiling file: $(L_WHITE)$<$(L_NRM)   <--"
	@$(CC) -c $(C_FLAGS) -o $@ $<
	@$(ECHOCMD) "[   $(L_WHITE)$<$(L_NRM) compiled $(L_GREEN)OK$(L_NRM)   ]"

store:
	@$(ECHOCMD) "-->   Backing up files   <-"
	@cp *.c *.h ./backup

build:
	@if [ -f .build ]; then \
		expr `cat .build` + 1 > .build; \
	else \
		echo '1' > .build; \
	fi
	@if [ -f .version ]; then \
		expr `cat .version` + 1 > .version; \
	else \
		echo '10001' > .version; \
	fi
	@if [ `cat .build` -ge 51 ]; then \
	echo '1' > .build; \
	fi
	@echo '#ifndef BUILD_H' > build.h
	@echo '#define BUILD_H' >> build.h
	@echo "#define LINKCOUNT   `cat .build`" >> build.h
	@echo '#endif' >> build.h
	@echo '#ifndef VERSION_H' > version.h
	@echo '#define VERSION_H' >> version.h
	@echo "#define VERSION   `cat .version`" >> version.h
	@echo '#endif' >> version.h
	@$(ECHOCMD) "$(L_WHITE)Build number $(L_RED)`cat .build`$(L_WHITE), version $(L_RED)`cat .version` $(L_WHITE)set.$(L_NRM)"

clean:
	@$(ECHOCMD) "-->   Cleaning up for full make... \c"
	@rm -f $(O_FILES) *~ *.save
	@rm -f ../area/merc
	@chmod $(SRCPRM) *.c *.h $(REDIRECT)
	@$(ECHOCMD) "$(L_GREEN)done$(L_NRM).    <--"
	gmake -j

rmcore:
	rm -f ../area/merc ../area/core

show:
ifdef OPTIMIZE
	@$(ECHOCMD) "--> $(L_GREEN) Fully optimized$(L_NRM) <--"
endif