root/trunk/Makefile

Revision 1, 4.3 kB (checked in by root, 4 years ago)

Initial import

Line 
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!
13PREFIX = /
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'
17DATA_PATH = $(PREFIX)/usr/games/lineo/datas
18
19### If you do make install, you may perhaps want to set these
20BINARYDIR = $(PREFIX)/usr/bin
21CONFIGDIR = $(PREFIX)/etc
22
23PRIVATEDIR = ~/.lineo
24
25### définition du répertoire de travail
26PWD = $(shell pwd)
27TOP_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
32SOUND = 1
33NETWORK = 1
34MUSIC = 1
35DEBUG = 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
46TARGET = DEFAULT
47
48
49### C++ compiler to be used
50CXX_DEFAULT = g++
51CXX_FREEBSD = g++
52CXX_NETBSD = g++
53CXX_MACOSX = g++
54CXX_CROSS = i586-mingw32msvc-g++
55
56CXX = $(CXX_$(TARGET))
57
58### SDL-Config in your system
59SDLCONFIG_DEFAULT = sdl-config
60SDLCONFIG_FREEBSD = sdl11-config
61SDLCONFIG_NETBSD = sdl-config
62SDLCONFIG_MACOSX = sdl-config
63SDLCONFIG_CROSS = i586-mingw32msvc-sdl-config
64
65SDLCONFIG = $(SDLCONFIG_$(TARGET))
66
67### Libs
68LIBS_DEFAULT = `$(SDLCONFIG) --libs` -lSDL_image -lSDL_mixer -lSDL_net
69LIBS_FREEBSD = `$(SDLCONFIG) --libs` -lSDL_image -lSDL_mixer -lSDL_net
70LIBS_NETBSD = `$(SDLCONFIG) --libs` -lSDL_image -lSDL_mixer -lSDL_net
71LIBS_MACOSX = `$(SDLCONFIG) --libs` -lSDL_image -lSDL_mixer -lSDL_net
72LIBS_CROSS = `$(SDLCONFIG) --libs` -lSDL_image -lSDL_mixer -lSDL_net
73LIBS = $(LIBS_$(TARGET))
74
75### Binary path
76BINARY_DEFAULT = lineo
77BINARY_FREEBSD = lineo
78BINARY_NETBSD = lineo
79BINARY_MACOSX = lineo
80BINARY_CROSS = lineo.exe
81
82BINARY = $(BINARY_$(TARGET))
83
84### CXX-Flags
85CXXFLAGS_DEFAULT = -g `$(SDLCONFIG) --cflags` -o $(BINARY) -O2
86CXXFLAGS_FREEBSD = -g `$(SDLCONFIG) --cflags` -I/usr/X11R6/include -o bin/$(BINARY) -O2
87CXXFLAGS_NETBSD = -g `$(SDLCONFIG) --cflags` -O2 -I/usr/pkg/include
88CXXFLAGS_MACOSX = -g `$(SDLCONFIG) --cflags` -o $(BINARY) -O2
89CXXFLAGS_CROSS = -g `$(SDLCONFIG) --cflags` -o $(BINARY) -O2
90
91CXXFLAGS = $(CXXFLAGS_$(TARGET))
92
93### Stripping command
94STRIP_DEFAULT = strip
95STRIP_FREEBSD = strip
96STRIP_NETBSD = strip
97STRIP_MACOSX = strip
98STRIP_CROSS = i586-mingw32msvc-strip
99
100STRIP = $(STRIP_$(TARGET))
101
102### Liste les sources pour en faire des objets
103SRC = $(wildcard $(TOP_DIR)/src/*.cpp)
104OBJ = $(SRC:%.cpp=%.o)
105
106BINARY_DEFAULT_ = lineinv
107BINARY_FREEBSD_ = lineinv
108BINARY_NETBSD_ = lineinv
109BINARY_MACOSX_ = lineinv
110BINARY_CROSS_ = lineinv.exe
111BINARY_ = $(BINARY_$(TARGET)_)
112CXXFLAGS_DEFAULT_ = -g `$(SDLCONFIG) --cflags` -o $(BINARY_) -O2
113CXXFLAGS_FREEBSD_ = -g `$(SDLCONFIG) --cflags` -I/usr/X11R6/include -o $(BINARY_) -O2
114CXXFLAGS_NETBSD = -g `$(SDLCONFIG) --cflags` -O2 -I/usr/pkg/include
115CXXFLAGS_MACOSX_ = -g `$(SDLCONFIG) --cflags` -o $(BINARY_) -O2
116CXXFLAGS_CROSS_ = -g `$(SDLCONFIG) --cflags` -o $(BINARY_) -O2
117CXXFLAGS_ = $(CXXFLAGS_$(TARGET)_)
118
119all: config main
120
121main: $(OBJ)
122        @echo "Start compilation"
123        @$(CXX) $(OBJ) $(LIBS) $(CXXFLAGS)
124        @echo "Make binary"
125        @$(STRIP) $(BINARY)
126
127icon:
128        @$(ICON_CMD)
129        @$(CXX) -o $(BINARY) $(OBJ) $(ICON) $(LIBS)
130        @$(STRIP) $(BINARY)
131
132config:
133        @echo "No particular config to do"
134
135install:
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
144uninstall:
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
153clean:
154        rm -f src/*.o
155        rm -f $(BINARY)
Note: See TracBrowser for help on using the browser.