OSDN Git Service

Add readme
[cinnamon-audio/cinnamon.git] / cin_build_gcc.mk
1 # Any copyright is dedicated to the Public Domain.
2 # http://creativecommons.org/publicdomain/zero/1.0/
3
4 CC=gcc
5 CXX=g++
6 CCFLAGS=-Wall -Wextra -pedantic -Wshadow -Wenum-compare -Wno-switch -g -fPIC -Iinclude -I./ -I./mixer
7 CFLAGS=$(CCFLAGS) -ansi
8 CXXFLAGS=$(CCFLAGS) -std=c++98 -fno-rtti -fno-exceptions
9 LINKFLAGS=-g -fPIC
10
11 MIXER_TYPE=unix
12
13 # Common objects
14 cin_common.o: $(CIN_COMMON_DEPS)
15         $(CC) $(CFLAGS) -c cin_common.c -o cin_common.o
16
17 cin_loader_soft.o: $(CIN_LOADER_SOFT_DEPS)
18         $(CC) $(CFLAGS) -c cin_loader_soft.c -o cin_loader_soft.o
19
20 # DSP object
21 cin_dsp.o: dsp/cin_dsp.cpp dsp/cin_dsp.h
22         $(CXX) $(CXXFLAGS) -c dsp/cin_dsp.cpp -o cin_dsp.o
23
24 # Mixer objects 
25 cin_lock_unix.o: mixer/unix/cin_lock_unix.c mixer/cin_lock.h
26         $(CC) $(CFLAGS) -c mixer/unix/cin_lock_unix.c -o cin_lock_unix.o
27
28 cin_thread_unix.o: mixer/unix/cin_thread_unix.c mixer/cin_thread.h
29         $(CC) $(CFLAGS) -c mixer/unix/cin_thread_unix.c -o cin_thread_unix.o
30
31 cin_driver_mixer.o: mixer/cin_driver_mixer.cpp mixer/cin_driver_mixer.hpp mixer/cin_thread.h mixer/cin_lock.h
32         $(CXX) $(CXXFLAGS) -c mixer/cin_driver_mixer.cpp -o cin_driver_mixer.o
33
34 cin_driver_mixer_ops.o: mixer/cin_driver_mixer_ops.cpp mixer/cin_driver_mixer_ops.h mixer/cin_driver_mixer.hpp 
35         $(CXX) $(CXXFLAGS) -c mixer/cin_driver_mixer_ops.cpp -o cin_driver_mixer_ops.o
36
37 # OpenAL objects
38 cin_loader_openal.o: $(CIN_LOADER_OPENAL_DEPS)
39         $(CC) $(CFLAGS) -c openal/cin_loader_openal.c -o cin_loader_openal.o
40
41 cin_driver_openal.o: $(CIN_DRIVER_OPENAL_DEPS)
42         $(CC) $(CFLAGS) -c openal/cin_driver_openal.c -o cin_driver_openal.o
43
44 cin_sound_openal.o: $(CIN_SOUND_OPENAL_DEPS)
45         $(CC) $(CFLAGS) -c openal/cin_sound_openal.c -o cin_sound_openal.o
46
47 # OSS objects
48 cin_sound_oss.o: $(CIN_SOUND_OSS_DEPS)
49         $(CC) $(CFLAGS) -c oss/cin_sound_oss.c -o cin_sound_oss.o
50
51 cin_driver_oss.o: $(CIN_DRIVER_OSS_DEPS)
52         $(CXX) $(CXXFLAGS) -c oss/cin_driver_oss.cpp -o cin_driver_oss.o
53
54 #Test objects
55 sine_test.o: $(SINE_TEST_DEPS)
56         $(CC) $(CFLAGS) -c sine_test.c -o sine_test.o
57
58 openal: $(OPENAL_OBJECTS) cin_common.o $(TEST_OBJS)
59         ar rc x.a $(OPENAL_OBJECTS)
60         ranlib x.a
61         mv x.a libcinnamon.a
62         $(CC) sine_test.o -L./ libcinnamon.a -lopenal
63
64 oss: $(OSS_OBJECTS) cin_common.o $(TEST_OBJS)
65         ar rc x.a $(OSS_OBJECTS)
66         ranlib x.a
67         mv x.a libcinnamon.a
68         $(CXX) sine_test.o -L./ libcinnamon.a
69
70 dsound: cinnamon.dll