| 1 | # 2006 By Joachim Desoutter |
|---|
| 2 | # With courtesy to Markus Kettunen |
|---|
| 3 | # 2006 Jonathan Buron <nathan@natsimhan.com> |
|---|
| 4 | |
|---|
| 5 | ### Installation options: |
|---|
| 6 | # These are the directories for `make install' |
|---|
| 7 | # NOTICE: Use absolute paths! ~ means $HOME, but ONLY for PRIVATEDIR. |
|---|
| 8 | |
|---|
| 9 | ### Installation directory (Installation prefix) |
|---|
| 10 | # If you don't have root privileges, set this to /home/tentacleman/lineo |
|---|
| 11 | # for example, otherwise /. Don't use ~ or other environment variables! |
|---|
| 12 | PREFIX = / |
|---|
| 13 | |
|---|
| 14 | ### Or if you don't want to run make install at all, uncomments the next line |
|---|
| 15 | # and comment the line below. Compile and run with './bin/lineo' |
|---|
| 16 | DATA_PATH = $(PREFIX)/usr/games/lineo/datas |
|---|
| 17 | |
|---|
| 18 | ### If you do make install, you may perhaps want to set these |
|---|
| 19 | BINARYDIR = $(PREFIX)/usr/bin |
|---|
| 20 | CONFIGDIR = $(PREFIX)/etc |
|---|
| 21 | |
|---|
| 22 | PRIVATEDIR = ~/.lineo |
|---|
| 23 | |
|---|
| 24 | |
|---|
| 25 | ### To compile, this program requires: |
|---|
| 26 | # SDL, SDL_image, SDL_mixer and SDL_net to compile. Libvorbis for music support. |
|---|
| 27 | |
|---|
| 28 | SOUND = 1 |
|---|
| 29 | NETWORK = 1 |
|---|
| 30 | MUSIC = 1 |
|---|
| 31 | DEBUG = 1 |
|---|
| 32 | |
|---|
| 33 | # Select target system |
|---|
| 34 | # Possible targets: DEFAULT (Linux and most of others too) |
|---|
| 35 | # FREEBSD |
|---|
| 36 | # NETBSD (use gmake) |
|---|
| 37 | # MACOSX (not sure if replay and ghost work) |
|---|
| 38 | # CROSS (for cross-compiling to win32) |
|---|
| 39 | |
|---|
| 40 | |
|---|
| 41 | #This should probably be DEFAULT |
|---|
| 42 | TARGET = DEFAULT |
|---|
| 43 | |
|---|
| 44 | |
|---|
| 45 | ### Only some random settings below |
|---|
| 46 | |
|---|
| 47 | |
|---|
| 48 | # For compiling with an icon, set these |
|---|
| 49 | |
|---|
| 50 | |
|---|
| 51 | |
|---|
| 52 | ### C++ compiler to be used |
|---|
| 53 | CXX_DEFAULT = g++ |
|---|
| 54 | CXX_FREEBSD = g++ |
|---|
| 55 | CXX_NETBSD = g++ |
|---|
| 56 | CXX_MACOSX = g++ |
|---|
| 57 | CXX_CROSS = i586-mingw32msvc-g++ |
|---|
| 58 | |
|---|
| 59 | CXX = $(CXX_$(TARGET)) |
|---|
| 60 | |
|---|
| 61 | |
|---|
| 62 | ### SDL-Config in your system |
|---|
| 63 | SDLCONFIG_DEFAULT = sdl-config |
|---|
| 64 | SDLCONFIG_FREEBSD = sdl11-config |
|---|
| 65 | SDLCONFIG_NETBSD = sdl-config |
|---|
| 66 | SDLCONFIG_MACOSX = sdl-config |
|---|
| 67 | SDLCONFIG_CROSS = i586-mingw32msvc-sdl-config |
|---|
| 68 | |
|---|
| 69 | SDLCONFIG = $(SDLCONFIG_$(TARGET)) |
|---|
| 70 | |
|---|
| 71 | ### Libs |
|---|
| 72 | LIBS_DEFAULT = `$(SDLCONFIG) --libs` -lSDL_image -lSDL_mixer -lSDL_net |
|---|
| 73 | LIBS_FREEBSD = `$(SDLCONFIG) --libs` -lSDL_image -lSDL_mixer -lSDL_net |
|---|
| 74 | LIBS_NETBSD = `$(SDLCONFIG) --libs` -lSDL_image -lSDL_mixer -lSDL_net |
|---|
| 75 | LIBS_MACOSX = `$(SDLCONFIG) --libs` -lSDL_image -lSDL_mixer -lSDL_net |
|---|
| 76 | LIBS_CROSS = `$(SDLCONFIG) --libs` -lSDL_image -lSDL_mixer -lSDL_net |
|---|
| 77 | LIBS = $(LIBS_$(TARGET)) |
|---|
| 78 | |
|---|
| 79 | ### Binary path |
|---|
| 80 | BINARY_DEFAULT = lineo |
|---|
| 81 | BINARY_FREEBSD = lineo |
|---|
| 82 | BINARY_NETBSD = lineo |
|---|
| 83 | BINARY_MACOSX = lineo |
|---|
| 84 | BINARY_CROSS = lineo.exe |
|---|
| 85 | |
|---|
| 86 | BINARY = $(BINARY_$(TARGET)) |
|---|
| 87 | |
|---|
| 88 | ### CXX-Flags |
|---|
| 89 | CXXFLAGS_DEFAULT = -g `$(SDLCONFIG) --cflags` -o $(BINARY) -O2 |
|---|
| 90 | CXXFLAGS_FREEBSD = -g `$(SDLCONFIG) --cflags` -I/usr/X11R6/include -o bin/$(BINARY) -O2 |
|---|
| 91 | CXXFLAGS_NETBSD = -g `$(SDLCONFIG) --cflags` -O2 -I/usr/pkg/include |
|---|
| 92 | CXXFLAGS_MACOSX = -g `$(SDLCONFIG) --cflags` -o $(BINARY) -O2 |
|---|
| 93 | CXXFLAGS_CROSS = -g `$(SDLCONFIG) --cflags` -o $(BINARY) -O2 |
|---|
| 94 | |
|---|
| 95 | CXXFLAGS = $(CXXFLAGS_$(TARGET)) |
|---|
| 96 | |
|---|
| 97 | ### Stripping command |
|---|
| 98 | STRIP_DEFAULT = strip |
|---|
| 99 | STRIP_FREEBSD = strip |
|---|
| 100 | STRIP_NETBSD = strip |
|---|
| 101 | STRIP_MACOSX = strip |
|---|
| 102 | STRIP_CROSS = i586-mingw32msvc-strip |
|---|
| 103 | |
|---|
| 104 | STRIP = $(STRIP_$(TARGET)) |
|---|
| 105 | |
|---|
| 106 | |
|---|
| 107 | ########## |
|---|
| 108 | # -fomit-frame-pointer -ffast-math |
|---|
| 109 | |
|---|
| 110 | OBJ = src/ComReseau.o src/Config.o src/Curseur.o src/Events.o src/Fond.o src/FondEcran.o src/Font.o src/GamePlateau.o src/GeneriqueDebut.o src/GeneriqueFin.o src/Joueur.o src/JoueurIA.o src/JoueurNet.o src/LaDonne.o src/Langue.o src/Lineo.o src/main.o src/Menu.o src/MiniPiece.o src/NoeudIA.o src/Phrase.o src/Piece.o src/PopUp.o src/Screen.o src/Sprite.o src/Surface.o src/Texte.o src/Timer.o src/VFont.o src/VTexte.o src/VueChoixAdversaire.o src/VueChoixCouleurPiece.o src/VueChoixJouer.o src/VueChoixLangue.o src/VueChoixModeVideo.o src/VueConstruction.o src/VueCredits.o src/VueDessus.o src/VueGame.o src/VueLogin.o src/VueMainMenu.o src/VueNiveau.o src/VueOption.o src/VueSousOption.o src/Musique.o |
|---|
| 111 | |
|---|
| 112 | |
|---|
| 113 | BINARY_DEFAULT_ = lineinv |
|---|
| 114 | BINARY_FREEBSD_ = lineinv |
|---|
| 115 | BINARY_NETBSD_ = lineinv |
|---|
| 116 | BINARY_MACOSX_ = lineinv |
|---|
| 117 | BINARY_CROSS_ = lineinv.exe |
|---|
| 118 | BINARY_ = $(BINARY_$(TARGET)_) |
|---|
| 119 | CXXFLAGS_DEFAULT_ = -g `$(SDLCONFIG) --cflags` -o $(BINARY_) -O2 |
|---|
| 120 | CXXFLAGS_FREEBSD_ = -g `$(SDLCONFIG) --cflags` -I/usr/X11R6/include -o $(BINARY_) -O2 |
|---|
| 121 | CXXFLAGS_NETBSD = -g `$(SDLCONFIG) --cflags` -O2 -I/usr/pkg/include |
|---|
| 122 | CXXFLAGS_MACOSX_ = -g `$(SDLCONFIG) --cflags` -o $(BINARY_) -O2 |
|---|
| 123 | CXXFLAGS_CROSS_ = -g `$(SDLCONFIG) --cflags` -o $(BINARY_) -O2 |
|---|
| 124 | CXXFLAGS_ = $(CXXFLAGS_$(TARGET)_) |
|---|
| 125 | |
|---|
| 126 | all: config main |
|---|
| 127 | |
|---|
| 128 | main: $(OBJ) |
|---|
| 129 | $(CXX) $(OBJ) $(LIBS) $(CXXFLAGS) |
|---|
| 130 | $(STRIP) $(BINARY) |
|---|
| 131 | |
|---|
| 132 | icon: |
|---|
| 133 | $(ICON_CMD) |
|---|
| 134 | $(CXX) -o $(BINARY) $(OBJ) $(ICON) $(LIBS) |
|---|
| 135 | $(STRIP) $(BINARY) |
|---|
| 136 | |
|---|
| 137 | config: |
|---|
| 138 | echo "No particular config to do" |
|---|
| 139 | |
|---|
| 140 | install: |
|---|
| 141 | mkdir -p $(BINARYDIR)/ |
|---|
| 142 | mkdir -p $(CONFIGDIR)/ |
|---|
| 143 | mkdir -p $(DATA_PATH)/ |
|---|
| 144 | cp -R datas/* $(DATA_PATH)/ |
|---|
| 145 | cp $(BINARY) $(BINARYDIR)/ |
|---|
| 146 | chmod -R 744 $(DATA_PATH) |
|---|
| 147 | chmod 755 `find $(DATA_PATH) -type d` |
|---|
| 148 | |
|---|
| 149 | uninstall: |
|---|
| 150 | rm -rf $(DATA_PATH)/* |
|---|
| 151 | rm -f $(BINARYDIR)/lineo |
|---|
| 152 | rmdir -p --ignore-fail-on-non-empty $(DATA_PATH) |
|---|
| 153 | rmdir -p --ignore-fail-on-non-empty $(CONFIGDIR) |
|---|
| 154 | rmdir -p --ignore-fail-on-non-empty $(BINARYDIR) |
|---|
| 155 | |
|---|
| 156 | gho: src/viewport.o |
|---|
| 157 | $(CXX) src/viewport.o $(LIBS) $(CXXFLAGS_) |
|---|
| 158 | $(STRIP) $(BINARY_) |
|---|
| 159 | |
|---|
| 160 | clean: |
|---|
| 161 | rm -f src/*.o |
|---|
| 162 | rm -f src/models/*.o |
|---|
| 163 | rm -f $(BINARY) |
|---|