Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 548926 | Differences between
and this patch

Collapse All | Expand All

(-)a/Eternal-Lands-1.9.4/Makefile.linux (-28 / +60 lines)
Lines 16-21 LDFLAGS=$(shell sdl-config --libs) $(shell xml2-config --libs) -lSDL_net \ Link Here
16
	$(foreach FEATURE, $(FEATURES), $($(FEATURE)_LIBS))
16
	$(foreach FEATURE, $(FEATURES), $($(FEATURE)_LIBS))
17
_LDFLAGS=$(XDIR) -lGL -lpthread -lstdc++
17
_LDFLAGS=$(XDIR) -lGL -lpthread -lstdc++
18
18
19
CC ?= gcc
20
CXX ?= g++
21
22
# some options
23
DATADIR ?= /usr/share/games/eternal-lands
24
25
CPPFLAGS += -DDATA_DIR=\"$(DATADIR)\" \
26
	    -DLINUX \
27
	    -DELC \
28
	    $(foreach FEATURE, $(EL_FEATURES), -D$(FEATURE)) \
29
	    -D_7ZIP_ST
30
31
ifeq ($(BSD_KERNEL),yes)
32
CPPFLAGS += -DBSD
33
endif
34
35
ifeq ($(DEBUG),yes)
36
CPPFLAGS += -DMEMORY_DEBUG
37
endif
38
39
CFLAGS += $(shell sdl-config --cflags) \
40
	  $(shell xml2-config --cflags) \
41
	  -fno-strict-aliasing \
42
	  $(EXTRA_INCLUDES)
43
44
CXXFLAGS += $(shell sdl-config --cflags) \
45
	    $(shell xml2-config --cflags) \
46
	    -fno-strict-aliasing \
47
	    $(EXTRA_INCLUDES)
48
49
LIBS += $(shell pkg-config --libs x11) \
50
	$(shell sdl-config --libs) \
51
	$(shell xml2-config --libs) \
52
	$(shell pkg-config --libs SDL_net) \
53
	$(shell pkg-config --libs SDL_image) \
54
	$(shell pkg-config --libs openal) \
55
	$(shell pkg-config --libs freealut) \
56
	$(shell pkg-config --libs gl) \
57
	$(shell pkg-config --libs glu) \
58
	$(shell pkg-config --libs cal3d) \
59
	$(shell pkg-config --libs libpng) \
60
	$(shell pkg-config --libs vorbis) \
61
	$(shell pkg-config --libs vorbisfile) \
62
	$(shell pkg-config --libs zlib) \
63
	-lm \
64
	$(EXTRA_LIBS) \
65
	$(foreach FEATURE, $(EL_FEATURES), $($(FEATURE)_LIBS)) \
66
	-lstdc++
67
19
# This works on Ubuntu 8.04 (LTS) at least
68
# This works on Ubuntu 8.04 (LTS) at least
20
# Install these packages in addition to those required for a standard build
69
# Install these packages in addition to those required for a standard build
21
# libasound2-dev libaudio-dev libartsc0-dev libesd0-dev libpulse-dev libaa1-dev libgpmg1-dev libdirectfb-dev
70
# libasound2-dev libaudio-dev libartsc0-dev libesd0-dev libpulse-dev libaa1-dev libgpmg1-dev libdirectfb-dev
Lines 61-67 COBJS=2d_objects.o 3d_objects.o \ Link Here
61
	xz/CpuArch.o xz/Delta.o xz/LzFind.o xz/Lzma2Dec.o xz/Lzma2Enc.o	\
110
	xz/CpuArch.o xz/Delta.o xz/LzFind.o xz/Lzma2Dec.o xz/Lzma2Enc.o	\
62
	xz/LzmaDec.o xz/LzmaEnc.o xz/Sha256.o xz/Xz.o xz/XzCrc64.o xz/XzDec.o	\
111
	xz/LzmaDec.o xz/LzmaEnc.o xz/Sha256.o xz/Xz.o xz/XzCrc64.o xz/XzDec.o	\
63
	xz/XzEnc.o	\
112
	xz/XzEnc.o	\
64
	$(foreach FEATURE, $(FEATURES), $($(FEATURE)_COBJ))
113
	$(foreach FEATURE, $(EL_FEATURES), $($(FEATURE)_COBJ))
65
	
114
	
66
CXXOBJS=achievements.o actor_init.o cal3d_wrapper.o command_queue.o \
115
CXXOBJS=achievements.o actor_init.o cal3d_wrapper.o command_queue.o \
67
	context_menu.o elloggingwrapper.o engine/logging.o exceptions/extendedexception.o \
116
	context_menu.o elloggingwrapper.o engine/logging.o exceptions/extendedexception.o \
Lines 81-87 CXXOBJS=achievements.o actor_init.o cal3d_wrapper.o command_queue.o \ Link Here
81
	eye_candy/effect_mines.o eye_candy/effect_missile.o \
130
	eye_candy/effect_mines.o eye_candy/effect_missile.o \
82
	eye_candy/orbital_mover.o eye_candy/kepler_orbit.o	\
131
	eye_candy/orbital_mover.o eye_candy/kepler_orbit.o	\
83
	eye_candy/effect_staff.o \
132
	eye_candy/effect_staff.o \
84
	$(foreach FEATURE, $(FEATURES), $($(FEATURE)_CXXOBJ))
133
	$(foreach FEATURE, $(EL_FEATURES), $($(FEATURE)_CXXOBJ))
85
134
86
OBJS=$(COBJS) $(CXXOBJS)
135
OBJS=$(COBJS) $(CXXOBJS)
87
HEADER_DIRS = . books eye_candy io pawn fsaa engine xz
136
HEADER_DIRS = . books eye_candy io pawn fsaa engine xz
Lines 90-113 HEADER_DIRS = . books eye_candy io pawn fsaa engine xz Link Here
90
DEP_FILES=$(foreach OBJ, $(COBJS), .deps/$(OBJ).P) $(foreach OBJ, $(CXXOBJS), .deps/$(OBJ).P)
139
DEP_FILES=$(foreach OBJ, $(COBJS), .deps/$(OBJ).P) $(foreach OBJ, $(CXXOBJS), .deps/$(OBJ).P)
91
#(shell echo $OBJ |sed s/\.o/\.P/))
140
#(shell echo $OBJ |sed s/\.o/\.P/))
92
141
93
EXE=el.x86.linux.bin
142
EXE=el
94
95
ifndef CC
96
CC=gcc
97
endif
98
ifndef CXX
99
CXX=g++
100
endif
101
ifndef LINK
102
LINK=gcc
103
endif
104
143
105
all: $(EXE)
144
all: $(EXE)
106
145
107
# the compile targets
146
# the compile targets
108
$(EXE): $(OBJS)
147
$(EXE): $(OBJS)
109
	@echo "  LINK $(EXE)"
148
	$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(EXE) $(OBJS) $(LIBS)
110
	@$(LINK) $(CFLAGS) -o $(EXE) $(OBJS) $(LDFLAGS)
111
149
112
#recompile on Makefile or conf change
150
#recompile on Makefile or conf change
113
#.depend $(OBJS): Makefile.linux make.conf
151
#.depend $(OBJS): Makefile.linux make.conf
Lines 115-139 $(EXE): $(OBJS) Link Here
115
DEPS_MAGIC := $(shell mkdir .deps .deps/io .deps/shader .deps/eye_candy .deps/exceptions .deps/xz .deps/xml .deps/fsaa .deps/engine > /dev/null 2>&1 || :)
153
DEPS_MAGIC := $(shell mkdir .deps .deps/io .deps/shader .deps/eye_candy .deps/exceptions .deps/xz .deps/xml .deps/fsaa .deps/engine > /dev/null 2>&1 || :)
116
154
117
$(COBJS): %.o: %.c Makefile.linux make.conf
155
$(COBJS): %.o: %.c Makefile.linux make.conf
118
	@echo "  CC   $@"
156
	@echo "$(CC) $(CFLAGS) $(CPPFLAGS) -MT '$@' -MD -MP -MF '.deps/$@.pp' -c $< -o $@"
119
	@if $(CC) $(CFLAGS) -MT '$@' -MD -MP -MF '.deps/$@.pp' -c $< -o $@; then \
157
	@if $(CC) $(CFLAGS) $(CPPFLAGS) -MT '$@' -MD -MP -MF '.deps/$@.pp' -c $< -o $@; then \
120
		mv ".deps/$@.pp" ".deps/$@.P"; \
158
		mv ".deps/$@.pp" ".deps/$@.P"; \
121
	else rm -f ".deps/$@.pp"; exit 1; \
159
	else rm -f ".deps/$@.pp"; exit 1; \
122
	fi
160
	fi
123
161
124
$(CXXOBJS): %.o: %.cpp Makefile.linux make.conf
162
$(CXXOBJS): %.o: %.cpp Makefile.linux make.conf
125
	@echo "  CXX  $@"
163
	@echo "$(CXX) $(CXXFLAGS) $(CPPFLAGS) -MT '$@' -MD -MP -MF '.deps/$@.pp' -c $< -o $@"
126
	@if $(CXX) $(CXXFLAGS) -MT '$@' -MD -MP -MF '.deps/$@.pp' -c $< -o $@; then \
164
	@if $(CXX) $(CXXFLAGS) $(CPPFLAGS) -MT '$@' -MD -MP -MF '.deps/$@.pp' -c $< -o $@; then \
127
		mv ".deps/$@.pp" ".deps/$@.P"; \
165
		mv ".deps/$@.pp" ".deps/$@.P"; \
128
	else rm -f ".deps/$@.pp"; exit 1; \
166
	else rm -f ".deps/$@.pp"; exit 1; \
129
	fi
167
	fi
130
168
131
release:
132
	@$(MAKE) -f Makefile.linux 'CFLAGS=$(_CFLAGS)' 'CXXFLAGS=$(_CXXFLAGS)'
133
134
static:
135
	@$(MAKE) -f Makefile.linux 'CFLAGS=$(_CFLAGS)' 'CXXFLAGS=$(_CXXFLAGS)' 'LDFLAGS=$(_LDFLAGS)' 'OBJS=$(OBJS) $(STATICLIBS)'
136
137
clean:
169
clean:
138
	rm -f $(OBJS) $(EXE) 
170
	rm -f $(OBJS) $(EXE) 
139
171
Lines 154-161 gen_git_version: Link Here
154
	@rm -f console.o $(EXE) 
186
	@rm -f console.o $(EXE) 
155
187
156
.depend: $(foreach HEADER_DIR, $(HEADER_DIRS), $(wildcard $(HEADER_DIR)/*.h))
188
.depend: $(foreach HEADER_DIR, $(HEADER_DIRS), $(wildcard $(HEADER_DIR)/*.h))
157
	$(CC) $(CFLAGS) -MM $(patsubst %.o, %.c, $(COBJS)) >.depend
189
	$(CC) $(CFLAGS) $(CPPFLAGS) -MM $(patsubst %.o, %.c, $(COBJS)) >.depend
158
	$(CXX) $(CXXFLAGS) -MM $(patsubst %.o, %.cpp, $(CXXOBJS)) >>.depend
190
	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -MM $(patsubst %.o, %.cpp, $(CXXOBJS)) >>.depend
159
191
160
make.conf: make.defaults
192
make.conf: make.defaults
161
	@if (test -f $@ -a '$(UPDATE_CONF)' != 'yes'); \
193
	@if (test -f $@ -a '$(UPDATE_CONF)' != 'yes'); \
Lines 174-180 pawn_scripts/features.inc: make.conf Link Here
174
	echo "\t#endinput" >> $@; \
206
	echo "\t#endinput" >> $@; \
175
	echo "#endif" >> $@; \
207
	echo "#endif" >> $@; \
176
	echo "#define _features_included" >> $@; \
208
	echo "#define _features_included" >> $@; \
177
	for feature in $(FEATURES); do \
209
	for feature in $(EL_FEATURES); do \
178
		echo "#define $$feature" >> $@; \
210
		echo "#define $$feature" >> $@; \
179
	done
211
	done
180
212

Return to bug 548926