# 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