File: Makefile

package info (click to toggle)
alogg 1.3.3-4
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k, sarge
  • size: 344 kB
  • ctags: 252
  • sloc: ansic: 1,923; makefile: 394; sh: 100; pascal: 17; lisp: 1
file content (413 lines) | stat: -rw-r--r-- 9,606 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413

# Select your system if not autodetected by uncommenting the appropriate line:

#SYSTEM=unix
#SYSTEM=dos
#SYSTEM=windows

ifeq ($(SYSTEM),)
  ifneq (,$(findstring linux,$(OSTYPE)))
    SYSTEM=unix
  endif
endif

ifeq ($(SYSTEM),)
  ifdef DJDIR
    SYSTEM=dos
    ifneq (,$(findstring bash,$(SHELL)))
      UNIX_TOOLS = 1
    endif
  endif
endif

ifeq ($(SYSTEM),)
  ifdef MINGDIR
    SYSTEM=windows
    ifneq (,$(findstring /sh.exe,$(SHELL)))
      UNIX_TOOLS = 1
    endif
  endif
endif

ifeq ($(SYSTEM),)
  autodetect_failed: autodetect_message
endif



ifeq ($(SYSTEM),unix)
  ALLEGRO_EXE=`allegro-config --libs`
  #ALLEGRO_LIBS=-L/usr/lib -L/usr/X11R6/lib -Wl,-export-dynamic -lalleg-4.0.3 -lm -lpthread -lXxf86dga -ldl
  ALLEGRO_LIBS=`allegro-config --libs`
  RM=rm -f
  RMTREE=rm -rf
  INSTALL_DIR=install -d -m 755
  INSTALL_BIN=install -m 755
  INSTALL_HDR=install -m 644
  INSTALL_LIB=install -m 644
  INSTALL_MAN=install -m 644
  PATHSEP=/
  SUFFIX=
  ifeq ($(PREFIX),)
    PREFIX=$(DESTDIR)/usr
  endif
else
ifeq ($(SYSTEM),dos)
  ALLEGRO=-lalleg
  SUFFIX=.exe
  ifdef UNIX_TOOLS
    RM=rm -f
    RMTREE=rm -rf
    INSTALL_DIR=mkdir
    INSTALL_BIN=cp
    INSTALL_HDR=cp
    INSTALL_LIB=cp
    INSTALL_MAN=cp
    PATHSEP=/
    ifeq ($(PREFIX),)
      PREFIX=$(subst \,/,$(DJDIR))
    endif
  else
    RM=del
    RMTREE=deltree /y
    INSTALL_DIR=mkdir
    INSTALL_HDR=copy
    INSTALL_BIN=copy
    INSTALL_LIB=copy
    INSTALL_MAN=copy
    PATHSEP=\\
    ifeq ($(PREFIX),)
      PREFIX=$(subst /,\,$(DJDIR))
    endif
    ECHO_DISLIKES_QUOTES=1
  endif
else
ifeq ($(SYSTEM),windows)
  ALLEGRO=-lalleg
  SUFFIX=.exe
  ifdef UNIX_TOOLS
    RM=rm -f
    RMTREE=rm -rf
    INSTALL_DIR=mkdir
    INSTALL_HDR=cp
    INSTALL_BIN=cp
    INSTALL_LIB=cp
    INSTALL_MAN=cp
    PATHSEP=/
    ifeq ($(PREFIX),)
      PREFIX=$(subst \,/,$(MINGDIR))
    endif
  else
    RM=del
    RMTREE=deltree /y
    INSTALL_DIR=mkdir
    INSTALL_HDR=copy
    INSTALL_BIN=copy
    INSTALL_LIB=copy
    INSTALL_MAN=copy
    PATHSEP=\\
    ifeq ($(PREFIX),)
      PREFIX=$(subst /,\,$(MINGDIR))
    endif
    ECHO_DISLIKES_QUOTES=1
  endif
else
  autodetect_failed: autodetect_message
endif
endif
endif

PREFIXD=$(PREFIX)$(PATHSEP)

VERSION=1.3.3
TARBALLNAME=alogg-$(VERSION)
ZIPNAME=alogg133

ifneq ($(TREMOR),)
CFLAGS+=-DALOGG_USE_TREMOR
LDFLAGS+=-Wl,--rpath -Wl,$(TREMOR)
LIBS=-lvorbisidec
LIBS_EXE=-lvorbisidec
else
LIBS=-lvorbisfile -lvorbisenc -lvorbis -logg -lm
LIBS_EXE=-lvorbisfile -lvorbisenc -lvorbis -logg -lm
endif

ifneq ($(CURL),)
CFLAGS+=-DALOGG_USE_CURL
LIBS+=`curl-config --libs`
LIBS_EXE+=`curl-config --libs
endif

ifneq ($(PTHREAD),)
CFLAGS+=-DALOGG_USE_PTHREAD
LIBS+=-lpthread
LIBS_EXE+=-lpthread
endif

SHAREDLIBNAME=libalogg.so.$(VERSION)
LIBS_EXE+= -lX11 -lXext $(ALLEGRO_EXE)
LIBS+=$(ALLEGRO_LIBS)
ifneq ($(SHARED),)
CFLAGS+=-fPIC
LIBNAME=$(SHAREDLIBNAME)
else
LIBNAME=libalogg.a
endif

CC=gcc
CFLAGS+=$(CFLAGS_G)
#LDFLAGS+=-L.

ifeq ($(TYPE),)
TYPE=html
endif
TYPEEXT=$(TYPE)
ifeq ($(TYPE),man)
TYPEEXT=3
endif

#ifeq ($(DEBUG),1)
#CFLAGS+=-g -DDEBUGMODE -DDEBUG -DFORTIFY -I/home/lyrian/valkin2/src/fortify
#LIBS+=/home/lyrian/valkin2/lib/fortify.a
#ALLEGRO=`allegro-config --libs debug --static`
#else
#CFLAGS+=-O2
#endif

.PHONY: autodetect_failed autodetect_message clean dist docs
.PHONY: install install_lib install_header install_examples install_man
.PHONY: uninstall
.PHONY: patchtest patchclean

EXAMPLES= alogg_play$(SUFFIX) \
          alogg_stream$(SUFFIX) \
          alogg_encode$(SUFFIX) \
          alogg_dat$(SUFFIX)

ifneq ($(PTHREAD),)
EXAMPLES+=alogg_thread$(SUFFIX)
endif

all: $(LIBNAME) $(EXAMPLES) docs

ifeq ($(SYSTEM),unix)
all: alogg-config
endif

LIBALLOG_OBJS = alogg.o
ifneq ($(CURL),)
LIBALLOG_OBJS += aloggurl.o
endif
ifneq ($(PTHREAD),)
LIBALLOG_OBJS += aloggpth.o
endif

libalogg.a: $(LIBALLOG_OBJS)
	ar cr libalogg.a $(LIBALLOG_OBJS)

$(SHAREDLIBNAME): $(LIBALLOG_OBJS)
	$(CC) $(LDFLAGS) -shared -Wl,-soname,libalogg.so.1 -o $@ \
              $(LIBALLOG_OBJS) $(LIBS)

	ln -s $(SHAREDLIBNAME) libalogg.so
	ln -s $(SHAREDLIBNAME) libalogg.so.1

alogg.o: aloggcfg.h alogg.h aloggint.h

aloggurl.o: alogg.h aloggurl.h

aloggpth.o: alogg.h aloggpth.h

aloggcfg.h:
	-$(MAKE) patchtest
	-$(MAKE) patchclean

%.o: %.c alogg.h aloggint.h
	$(CC) $(CFLAGS) -o $@ -c $<

alogg_play$(SUFFIX): alogg_play.o $(LIBNAME)
	$(CC) $(LDFLAGS) -o $@ alogg_play.o $(LIBNAME) $(LIBS_EXE)

alogg_stream$(SUFFIX): alogg_stream.o $(LIBNAME)
	$(CC) $(LDFLAGS) -o $@ alogg_stream.o $(LIBNAME) $(LIBS_EXE)

alogg_encode$(SUFFIX): alogg_encode.o $(LIBNAME)
	$(CC) $(LDFLAGS) -o $@ alogg_encode.o $(LIBNAME) $(LIBS_EXE)

alogg_dat$(SUFFIX): alogg_dat.o $(LIBNAME)
	$(CC) $(LDFLAGS) -o $@ alogg_dat.o $(LIBNAME) $(LIBS_EXE)

alogg_thread$(SUFFIX): alogg_thread.o $(LIBNAME)
	$(CC) $(LDFLAGS) -o $@ alogg_thread.o $(LIBNAME) $(LIBS_EXE)

ifeq ($(SYSTEM),unix)
alogg-config: alogg-config.skel
	(cat alogg-config.skel | \
          sed -e s/=VERSION/=$(VERSION)/ | \
          sed -e s#=PREFIX#=$(PREFIX)# | \
          sed -e s#=TREMOR#=$(TREMOR)# | \
          sed -e s#=CURL#=$(CURL)# | \
          sed -e s#=PTHREAD#=$(PTHREAD)# \
        > alogg-config) || $(RM) alogg-config
	chmod 755 alogg-config
endif

clean:
	-$(RM) libalogg.a
	-$(RM) $(SHAREDLIBNAME)
	-$(RM) libalogg.so
	-$(RM) libalogg.so.1
	-$(RM) alogg.o
	-$(RM) aloggurl.o
	-$(RM) aloggpth.o
	-$(RM) alogg_play.o
	-$(RM) alogg_play$(SUFFIX)
	-$(RM) alogg_stream.o
	-$(RM) alogg_stream$(SUFFIX)
	-$(RM) alogg_encode.o
	-$(RM) alogg_encode$(SUFFIX)
	-$(RM) alogg_dat.o
	-$(RM) alogg_dat$(SUFFIX)
	-$(RM) alogg_thread.o
	-$(RM) alogg_thread$(SUFFIX)
	-$(RM) aloggcfg.h
	-$(RM) alogg*.html
	-$(RM) alogg.texi
	-$(RM) alogg.rtf
	-$(RM) alogg.txt
	-$(RM) alogg.info
	-$(RM) alogg.ascii
	-$(RM) *.3
	-$(RM) alogg-config

clean_obj:
	-$(RM) *.o

install: install_alogg_config \
         install_headers \
         install_examples \
         install_man

install_alogg_config:
ifeq ($(SYSTEM),unix)
	-$(INSTALL_DIR) $(PREFIXD)bin
	$(INSTALL_BIN) alogg-config $(PREFIXD)bin
endif

install_lib: install_alogg_config
	-$(INSTALL_DIR) $(PREFIXD)lib
ifeq ($(SHARED),)
	-$(INSTALL_LIB) libalogg.a $(PREFIXD)lib
else
	-$(INSTALL_LIB) $(SHAREDLIBNAME) $(PREFIXD)lib
	cp -d libalogg.so $(PREFIXD)lib
	cp -d libalogg.so.1 $(PREFIXD)lib
endif

install_headers:
	-$(INSTALL_DIR) $(PREFIXD)include
	-$(INSTALL_DIR) $(PREFIXD)include$(PATHSEP)alogg
	$(INSTALL_HDR) alogg.h $(PREFIXD)include$(PATHSEP)alogg
	$(INSTALL_HDR) aloggint.h $(PREFIXD)include$(PATHSEP)alogg
	$(INSTALL_HDR) aloggurl.h $(PREFIXD)include$(PATHSEP)alogg
	$(INSTALL_HDR) aloggpth.h $(PREFIXD)include$(PATHSEP)alogg

install_examples:
	-$(INSTALL_DIR) $(PREFIXD)bin
	$(INSTALL_BIN) alogg_play$(SUFFIX) $(PREFIXD)bin
	$(INSTALL_BIN) alogg_stream$(SUFFIX) $(PREFIXD)bin
	$(INSTALL_BIN) alogg_encode$(SUFFIX) $(PREFIXD)bin
	$(INSTALL_BIN) alogg_dat$(SUFFIX) $(PREFIXD)bin
ifneq ($(PTHREAD),)
	$(INSTALL_BIN) alogg_thread$(SUFFIX) $(PREFIXD)bin
endif

install_man:
	-$(INSTALL_DIR) $(PREFIXD)man/$(PATHSEP)man1
	$(INSTALL_MAN) alogg-config.1 $(PREFIXD)man$(PATHSEP)man1
#	-$(INSTALL_DIR) $(PREFIXD)man/$(PATHSEP)man3
#	-$(INSTALL_MAN) *.3 $(PREFIXD)man$(PATHSEP)man3

uninstall:
	-$(RM) $(PREFIXD)bin$(PATHSEP)alogg_play
	-$(RM) $(PREFIXD)bin$(PATHSEP)alogg_stream
	-$(RM) $(PREFIXD)bin$(PATHSEP)alogg_encode
	-$(RM) $(PREFIXD)bin$(PATHSEP)alogg_dat
	-$(RM) $(PREFIXD)bin$(PATHSEP)alogg_thread
ifeq ($(SYSTEM),unix)
	-$(RM) $(PREFIXD)bin$(PATHSEP)alogg-config
endif
	-$(RM) $(PREFIXD)lib$(PATHSEP)libalogg.a
	-$(RM) $(PREFIXD)lib$(PATHSEP)$(SHAREDLIBNAME) && \
          /sbin/ldconfig || \
          (echo "ldconfig could not be run" && \
          echo "there might be some links to $(SHAREDLIBNAME) left")
	-$(RMTREE) $(PREFIXD)include$(PATHSEP)alogg
	-$(RM) $(PREFIXD)man$(PATHSEP)man1$(PATHSEP)alogg-config.1
	-$(RM) $(PREFIXD)man$(PATHSEP)man3$(PATHSEP)datogg_*.3
	-$(RM) $(PREFIXD)man$(PATHSEP)man3$(PATHSEP)alogg_*.3

dist:
	-rm -f $(TARBALLNAME).tar.gz
	-rm -f $(ZIPNAME).zip
	-mkdir $(TARBALLNAME)
	cp alogg.h aloggint.h alogg.c \
           aloggurl.c aloggurl.h \
           aloggpth.c aloggpth.h \
           datogg.c datogg.inc datogg.scu datogg.scr datogg.scm \
           alogg_play.c alogg_stream.c alogg_encode.c alogg_dat.c \
           alogg_thread.c \
           Makefile alogg._tx sample.diff libs.diff tremor.diff _alst.c \
           alogg-config.skel alogg-config.1 \
           README lgpl.txt LICENSE AUTHORS ChangeLog TODO \
           $(TARBALLNAME)
	tar cvfz $(TARBALLNAME).tar.gz $(TARBALLNAME)
	mv $(TARBALLNAME)/README $(TARBALLNAME)/README.txt
	mv $(TARBALLNAME) $(ZIPNAME)
	zip -rl $(ZIPNAME).zip $(ZIPNAME)
	rm -rf $(ZIPNAME)

docs:
ifeq ($(TYPE),txi)
	allegro-makedoc -$(TYPE) alogg.$(TYPEEXT) alogg._tx
	# Translate  Texinfo  source  documentation to info file
	makeinfo alogg.txi 
	# rename alogg.inf in alogg.info 
	mv alogg.inf alogg.info
else
	allegro-makedoc -$(TYPE) alogg.$(TYPEEXT) alogg._tx
endif

autodetect_message:
	@echo Your system type could not be autodetected
	@echo Edit the Makefile and select your system before trying again

patchtest:
	-$(RM) aloggcfg.h
ifeq ($(ECHO_DISLIKES_QUOTES),)
	echo "#undef HAS_REGISTER_SAMPLE_FILE_TYPE" > aloggcfg.h
else
	echo #undef HAS_REGISTER_SAMPLE_FILE_TYPE > aloggcfg.h
endif
	$(CC) $(CFLAGS) -o _alst.o -c _alst.c
	$(CC) $(LDFLAGS) -o _alst$(SUFFIX) _alst.o $(LIBS)
ifeq ($(ECHO_DISLIKES_QUOTES),)
	echo "#define HAS_REGISTER_SAMPLE_FILE_TYPE" > aloggcfg.h
else
	echo #define HAS_REGISTER_SAMPLE_FILE_TYPE > aloggcfg.h
endif

patchclean:
	-$(RM) _alst$(SUFFIX)
	-$(RM) _alst.o