# # Modification History # # 2006-June-27 Jason Rohrer # Created. Copied from Transcend. # ## # The portion of game2 Makefiles common to all platforms. # # Should not be made manually---used by game2/configure to build Makefiles. ## ROOT_PATH = ../.. USER_INTERFACE_PATH = userInterface SOUND_PATH = sound LAYER_SOURCE = \ glCommon.cpp \ features.cpp\ game.cpp \ World.cpp \ Plant.cpp \ PlantLeaf.cpp \ PlantFlower.cpp \ Fruit.cpp \ Gardener.cpp \ Portal.cpp \ GardenerAI2.cpp \ FlyingObject.cpp \ emotionIcons.cpp \ landscape.cpp \ SoilMap.cpp \ Seeds.cpp \ Genetics.cpp \ GardenerGenetics.cpp \ PlantGenetics.cpp \ PortalLayerGenetics.cpp \ ImmortalGenetics.cpp \ ${USER_INTERFACE_PATH}/ButtonBase.cpp \ ${USER_INTERFACE_PATH}/PlantButton.cpp \ ${USER_INTERFACE_PATH}/PlotButton.cpp \ ${USER_INTERFACE_PATH}/WaterButton.cpp \ ${USER_INTERFACE_PATH}/PoisonButton.cpp \ ${USER_INTERFACE_PATH}/HarvestButton.cpp \ ${USER_INTERFACE_PATH}/EmotionButton.cpp \ ${USER_INTERFACE_PATH}/PauseButton.cpp \ ${USER_INTERFACE_PATH}/RestartButton.cpp \ ${USER_INTERFACE_PATH}/QuitButton.cpp \ ${USER_INTERFACE_PATH}/TextDisplay.cpp \ ${USER_INTERFACE_PATH}/ObjectSelector.cpp \ ${USER_INTERFACE_PATH}/EatButton.cpp \ ${USER_INTERFACE_PATH}/GiftButton.cpp \ ${USER_INTERFACE_PATH}/DiscardButton.cpp \ ${USER_INTERFACE_PATH}/MateButton.cpp \ ${USER_INTERFACE_PATH}/FollowButton.cpp \ ${USER_INTERFACE_PATH}/TexturedPanel.cpp \ ${USER_INTERFACE_PATH}/NextTutorialButton.cpp \ ${USER_INTERFACE_PATH}/TextBlockGL.cpp \ ${SOUND_PATH}/MusicNoteWaveTable.cpp \ ${SOUND_PATH}/MusicPart.cpp \ ${SOUND_PATH}/MusicPlayer.cpp \ ${SOUND_PATH}/SoundPlayer.cpp \ ${SOUND_PATH}/SoundSamples.cpp \ LAYER_OBJECTS = ${LAYER_SOURCE:.cpp=.o} NEEDED_MINOR_GEMS_OBJECTS = \ ${SCREEN_GL_O} \ ${SINGLE_TEXTURE_GL_O} \ ${TYPE_IO_O} \ ${STRING_UTILS_O} \ ${STRING_BUFFER_OUTPUT_STREAM_O} \ ${PATH_O} \ ${TIME_O} \ ${THREAD_O} \ ${MUTEX_LOCK_O} \ ${PNG_IMAGE_CONVERTER_O} \ ${TRANSLATION_MANAGER_O} TEST_SOURCE = TEST_OBJECTS = ${TEST_SOURCE:.cpp=.o} DEPENDENCY_FILE = Makefile.dependencies # targets all: Cultivation clean: rm -f ${DEPENDENCY_FILE} ${LAYER_OBJECTS} ${TEST_OBJECTS} ${NEEDED_MINOR_GEMS_OBJECTS} Cultivation Cultivation: ${LAYER_OBJECTS} ${NEEDED_MINOR_GEMS_OBJECTS} ${EXE_LINK} -o Cultivation ${LAYER_OBJECTS} ${NEEDED_MINOR_GEMS_OBJECTS} ${PLATFORM_LINK_FLAGS} # add this on Unix to support JPEG video frame output # -ljpeg ${ROOT_PATH}/minorGems/graphics/converters/unix/JPEGImageConverterUnix.cpp # sed command for fixing up the dependencies generated by g++ # g++ (pre-3.0) leaves the path off of the .o target # look for a .o file at the beginning of a line (in other words, one # without a path), and replace it with the full-path version. # This should be compatible with g++ 3.0, since we only replace .o names # that occur at the beginning of a line (using the "^" modifier) GAME_2_SED_FIX_COMMAND = sed ' \ s/^ButtonBase.o/$${USER_INTERFACE_PATH}\/ButtonBase.o/; \ s/^PlantButton.o/$${USER_INTERFACE_PATH}\/PlantButton.o/; \ s/^PlotButton.o/$${USER_INTERFACE_PATH}\/PlotButton.o/; \ s/^WaterButton.o/$${USER_INTERFACE_PATH}\/WaterButton.o/; \ s/^PoisonButton.o/$${USER_INTERFACE_PATH}\/PoisonButton.o/; \ s/^HarvestButton.o/$${USER_INTERFACE_PATH}\/HarvestButton.o/; \ s/^EmotionButton.o/$${USER_INTERFACE_PATH}\/EmotionButton.o/; \ s/^PauseButton.o/$${USER_INTERFACE_PATH}\/PauseButton.o/; \ s/^RestartButton.o/$${USER_INTERFACE_PATH}\/RestartButton.o/; \ s/^QuitButton.o/$${USER_INTERFACE_PATH}\/QuitButton.o/; \ s/^TextDisplay.o/$${USER_INTERFACE_PATH}\/TextDisplay.o/; \ s/^ObjectSelector.o/$${USER_INTERFACE_PATH}\/ObjectSelector.o/; \ s/^EatButton.o/$${USER_INTERFACE_PATH}\/EatButton.o/; \ s/^GiftButton.o/$${USER_INTERFACE_PATH}\/GiftButton.o/; \ s/^DiscardButton.o/$${USER_INTERFACE_PATH}\/DiscardButton.o/; \ s/^MateButton.o/$${USER_INTERFACE_PATH}\/MateButton.o/; \ s/^FollowButton.o/$${USER_INTERFACE_PATH}\/FollowButton.o/; \ s/^TexturedPanel.o/$${USER_INTERFACE_PATH}\/TexturedPanel.o/; \ s/^NextTutorialButton.o/$${USER_INTERFACE_PATH}\/NextTutorialButton.o/; \ s/^TextBlockGL.o/$${USER_INTERFACE_PATH}\/TextBlockGL.o/; \ s/^MusicNoteWaveTable.o/$${SOUND_PATH}\/MusicNoteWaveTable.o/; \ s/^MusicPart.o/$${SOUND_PATH}\/MusicPart.o/; \ s/^MusicPlayer.o/$${SOUND_PATH}\/MusicPlayer.o/; \ s/^SoundPlayer.o/$${SOUND_PATH}\/SoundPlayer.o/; \ s/^SoundSamples.o/$${SOUND_PATH}\/SoundSamples.o/; \ ' # build the dependency file ${DEPENDENCY_FILE}: ${LAYER_SOURCE} ${TEST_SOURCE} rm -f ${DEPENDENCY_FILE} ${COMPILE} -MM ${LAYER_SOURCE} ${TEST_SOURCE} >> ${DEPENDENCY_FILE}.temp cat ${DEPENDENCY_FILE}.temp | ${GAME_2_SED_FIX_COMMAND} >> ${DEPENDENCY_FILE} rm -f ${DEPENDENCY_FILE}.temp include ${DEPENDENCY_FILE}