LANG=C # Moved compiler logic to compiler file, will commit a base of it and then add to svn ignore # so we can modify the makefile and not worry about changing g++/icc include compiler CFLAGS := -g -Wall -I/usr/include/libxml2 -O0 $(COMPILER_CFLAGS) CFLAGS += -I/usr/include/python2.6 LIBS = -laspell -lxml2 -lz -lc -L./ -L/usr/lib/python2.5/config -lpython2.6 -lboost_python-mt-py26 GENERAL_SOURCE := mudObject.cpp pythonHandler.cpp abjuration.cpp alchemy.cpp access.cpp action.cpp GENERAL_SOURCE += afflictions.cpp area.cpp attack.cpp attackTimer.cpp bank.cpp bans.cpp GENERAL_SOURCE += builder.cpp calendar.cpp clans.cpp cmd.cpp color.cpp combat.cpp GENERAL_SOURCE += combatSystem.cpp command1.cpp command2.cpp command4.cpp command5.cpp GENERAL_SOURCE += commerce.cpp communication.cpp config.cpp conjuration.cpp craft.cpp creature.cpp GENERAL_SOURCE += creature2.cpp creatures.cpp data.cpp demographics.cpp die.cpp divination.cpp GENERAL_SOURCE += dm.cpp dmcrt.cpp dmobj.cpp dmply.cpp dmroom.cpp duel.cpp effect.cpp effects.cpp GENERAL_SOURCE += enchantment.cpp equipment.cpp errors.cpp evocation.cpp exits.cpp factions.cpp GENERAL_SOURCE += files1.cpp files2.cpp files-xml-read.cpp files-xml-save.cpp fishing.cpp GENERAL_SOURCE += global.cpp gods.cpp groups.cpp guilds.cpp healers.cpp healmagic.cpp illusion.cpp GENERAL_SOURCE += io.cpp import.cpp log.cpp logic.cpp login.cpp lottery.cpp magic.cpp GENERAL_SOURCE += magic1.cpp mccp.cpp md5.cpp memory.cpp misc.cpp monsters.cpp GENERAL_SOURCE += mordorMain.cpp movement.cpp necromancy.cpp object.cpp objects.cpp oldQuest.cpp GENERAL_SOURCE += player.cpp player2.cpp players.cpp port.cpp post.cpp property.cpp quests.cpp GENERAL_SOURCE += queue.cpp realms.cpp rogues.cpp room.cpp rooms.cpp security.cpp server.cpp GENERAL_SOURCE += ships.cpp singers.cpp size.cpp skills.cpp socket.cpp specials.cpp special1.cpp GENERAL_SOURCE += spelling.cpp spells.cpp staff.cpp start.cpp stats.cpp steal.cpp talk.cpp GENERAL_SOURCE += timer.cpp translocation.cpp transmutation.cpp undead.cpp unique.cpp update.cpp GENERAL_SOURCE += vprint.cpp warriors.cpp watchers.cpp weaponless.cpp web.cpp xml.cpp REALMS_SOURCE := main.cpp LIST_SOURCE := list.cpp CONVERT_SOURCE := convert.cpp ALL_SOURCE := $(GENERAL_SOURCE) $(REALMS_SOURCE) $(LIST_SOURCE) #CPP_SOURCE := main.cpppp Server.cpppp Socket.cpppp Interpreters.cpppp Timer.cpppp #CPP_SOURCE += SignalHandler.cpppp Xml.cpppp Bans.cpppp MudObject.cpppp GENERAL_OBJ := $(notdir $(GENERAL_SOURCE:%.cpp=%.o)) REALMS_OBJ := $(GENERAL_OBJ) $(notdir $(REALMS_SOURCE:%.cpp=%.o)) LIST_OBJ := $(GENERAL_OBJ) $(notdir $(LIST_SOURCE:%.cpp=%.o)) CONVERT_OBJ := $(GENERAL_OBJ) $(notdir $(CONVERT_SOURCE:%.cpp=%.o)) ALLOBJ := $(REALMS_OBJ) BINS := realms.exe list.exe convert.exe default: @echo 'Using $(CC) as a compiler' $(MAKE) all DEPS := $(notdir $(ALL_SOURCE:%.cpp=%.d)) mud.h.d -include $(DEPS) all: realms.exe #all: $(BINS) copy: @echo 'Copying binary to bin dir.' @cp -f realms.exe ../bin/ clean: @echo 'Removing all binaries, dependancies, and object files.' @rm -f $(ALLOBJ) @rm -f $(BINS) @rm -f $(DEPS) @rm -f *.pchi @rm -f *.gch @rm -f *.d @rm -f *~ mud.h.gch: mud.h @echo 'Precompiling mud.h' @g++ -x c++-header mud.h -o mud.h.gch $(CFLAGS) && \ g++ -MM -MG -MT mud.h.gch $(CFLAGS) mud.h > mud.h.d convert.exe: $(CONVERT_OBJ) @echo 'Building target: $@' @$(CC) -o $@ $(CFLAGS) $(CONVERT_OBJ) $(LIBS) @echo 'Done making: $@' list.exe: $(LIST_OBJ) @echo 'Building target: $@' @$(CC) -o $@ $(CFLAGS) $(LIST_OBJ) $(LIBS) @echo 'Done making: $@' realms.exe: $(PRE_COMPILED_HEADER) $(REALMS_OBJ) @echo 'Building target: $@' @$(CC) -o $@ $(CFLAGS) $(REALMS_OBJ) $(LIBS) @echo 'Done making: $@' compiler: @cp compiler.default compiler # General compilation commands %.o : %.cpp @echo -e 'Compiling $<' @$(CC) $(CFLAGS) $(ICCFLAGS) -c $< -o$@ && \ g++ -MM -MG $(CFLAGS) $< > $(@:%.o=%.d)