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