File: Makefile

package info (click to toggle)
libid3 3.05-2
  • links: PTS
  • area: main
  • in suites: potato
  • size: 560 kB
  • ctags: 568
  • sloc: cpp: 3,582; makefile: 85
file content (46 lines) | stat: -rw-r--r-- 1,309 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
# Makefile for libid3
# Targeted quite strictly for Linux, might work on something else, though
# Written by Pawel Wiecek <coven@vmh.net>
# (the original libid3 was lacking this)

CXX=g++
AR=ar
CXXFLAGS=-O3 -Wall
LIBS=-Lz
OBJS=id3_dll_wrapper.o id3_error.o id3_field.o id3_field_binary.o \
 id3_field_integer.o id3_field_string_ascii.o id3_field_string_unicode.o \
 id3_frame.o id3_frame_parse.o id3_frame_render.o id3_header.o \
 id3_header_frame.o id3_header_tag.o id3_int28.o id3_misc_support.o \
 id3_tag.o id3_tag_file.o id3_tag_find.o id3_tag_parse.o \
 id3_tag_parse_lyrics3.o id3_tag_parse_v1.o id3_tag_render.o id3_tag_sync.o
HEADS=id3_dll.h id3_error.h id3_externals.h id3_field.h id3_frame.h \
 id3_header.h id3_header_frame.h id3_header_tag.h id3_int28.h \
 id3_misc_support.h id3_tag.h id3_types.h id3_version.h

all: shared libid3.a libid3.so

libid3.a: $(OBJS)
	-rm -f libid3.a
	ar -rc libid3.a $(OBJS)

shared:
	-mkdir shared

libid3.so: $(OBJS)
	$(CC) -shared -Wl,-soname,libid3.so.3 -o libid3.so.3.05 shared/*.o \
		-lc -lz
	strip libid3.so.3.05
	ln -fs libid3.so.3.05 libid3.so.3
	ln -fs libid3.so.3 libid3.so

.cpp.o:
	$(CXX) -c $(CXXFLAGS) -fPIC -o shared/$@ $*.cpp -pipe
	$(CXX) -c $(CXXFLAGS) $*.cpp -pipe

$(OBJS): $(HEADS)

clean:
	-rm -f *.o *.a *.so*
	-rm -rf shared

.PHONY: clean