/
Makefile.linux
131 lines (84 loc) · 6.58 KB
/
Makefile.linux
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
# GNU Make Makefile for resonanz
# (C) Copyright Tomas Ukkonen
############################################################
CC = gcc
CXX = g++
MAKE = make
MKDIR = mkdir
AR = ar
CD = cd
RM = rm -f
MV = mv
CP = cp
CFLAGS = -fPIC -std=c++1y -O3 -g -fopenmp `pkg-config sdl2 --cflags` `pkg-config --cflags SDL2_ttf` `pkg-config --cflags SDL2_image` `pkg-config --cflags SDL2_mixer` `pkg-config --cflags dinrhiw` -I. -Ioscpkt -I/usr/lib/jvm/java-7-openjdk-amd64/include/ -I/usr/lib/jvm/java-8-openjdk-amd64/include/ -I/usr/lib/jvm/java-7-openjdk-amd64/include/linux/ -I/usr/lib/jvm/java-8-openjdk-amd64/include/linux/ -I. `pkg-config theora --cflags` `python3-config --cflags` `pkg-config vorbis --cflags` `pkg-config libavcodec --cflags` `pkg-config libavformat --cflags` `pkg-config libavutil --cflags`
# -fsanitize=address
CXXFLAGS = -fPIC -std=c++1y -O3 -g -fopenmp `pkg-config sdl2 --cflags` `pkg-config --cflags SDL2_ttf` `pkg-config --cflags SDL2_image` `pkg-config --cflags SDL2_mixer` `pkg-config --cflags dinrhiw` -I. -Ioscpkt -I/usr/lib/jvm/java-7-openjdk-amd64/include/ -I/usr/lib/jvm/java-8-openjdk-amd64/include/ -I/usr/lib/jvm/java-7-openjdk-amd64/include/linux/ -I/usr/lib/jvm/java-8-openjdk-amd64/include/linux/ -I. `pkg-config theora --cflags` `python3-config --cflags` `pkg-config vorbis --cflags` `pkg-config libavcodec --cflags` `pkg-config libavformat --cflags` `pkg-config libavutil --cflags`
# -fsanitize=address
OBJECTS = ResonanzEngine.o MuseOSC.o MuseOSC4.o NMCFile.o NoEEGDevice.o RandomEEG.o SDLTheora.o SDLAVCodec.o SDLSoundSynthesis.o FMSoundSynthesis.o IsochronicSoundSynthesis.o hermitecurve.o SDLMicrophoneListener.o SoundSynthesis.o HMMStateUpdator.o spectral_entropy.o spectral_analysis.o pictureFeatureVector.o IsochronicPictureSynthesis.o TranquilityEngine.o spectrum_phase_difference.o MuseIPC_EEG.o MuseOSC_EEG.o
SOURCES = main.cpp ResonanzEngine.cpp MuseOSC.cpp MuseOSC4.cpp NMCFile.cpp NoEEGDevice.cpp RandomEEG.cpp SDLTheora.cpp SDLAVCodec.cpp jni/fi_iki_nop_neuromancer_ResonanzEngine.cpp hermitecurve.cpp SDLMicrophoneListener.cpp LightstoneDevice.cpp measurements.cpp optimizeResponse.cpp pictureAutoencoder.cpp renaissance.cpp stimulation.cpp hsv.cpp timeseries.cpp ts_measure.cpp ReinforcementPictures.cpp ReinforcementSounds.cpp SoundSynthesis.cpp HMMStateUpdator.cpp spectral_entropy.cpp spectrum_phase_difference.cpp pictureFeatureVector.cpp IsochronicPictureSynthesis.cpp TranquilityEngine.cpp
# MuseOSCSampler.o
TARGET = resonanz
LIBS = `pkg-config sdl2 --libs` `pkg-config --libs SDL2_ttf` `pkg-config --libs SDL2_image` `pkg-config --libs SDL2_mixer` `pkg-config --libs dinrhiw` `python3-config --ldflags --embed` `pkg-config vorbis --libs` `pkg-config vorbisenc --libs` -fopenmp -ltheoraenc -ltheoradec -logg `pkg-config libavcodec --libs` `pkg-config libavformat --libs` `pkg-config libavutil --libs`
RESONANZ_OBJECTS=$(OBJECTS) main.o
JNILIB_OBJECTS=$(OBJECTS) jni/fi_iki_nop_neuromancer_ResonanzEngine.o
JNITARGET = resonanz-engine.so
SPECTRAL_TEST_OBJECTS=spectral_analysis.o tst/spectral_test.o
SPECTRAL_TEST_TARGET=spectral_test
MAXIMPACT_CFLAGS=-O -g `/usr/local/bin/sdl2-config --cflags` `pkg-config SDL2_image --cflags` `pkg-config SDL2_gfx --cflags` `aalib-config --cflags` `pkg-config dinrhiw --cflags`
MAXIMPACT_CXXFLAGS=$(CFLAGS)
MAXIMPACT_LIBS=`/usr/local/bin/sdl2-config --libs` `pkg-config SDL2_image --libs` `pkg-config SDL2_gfx --libs` `aalib-config --libs` `pkg-config dinrhiw --libs` -lncurses
MAXIMPACT_OBJECTS=maximpact.o MuseOSC.o NoEEGDevice.o RandomEEG.o
MAXIMPACT_TARGET=maximpact
SOUND_LIBS=`pkg-config sdl2 --libs` `pkg-config SDL2_image --libs` `pkg-config SDL2_ttf --libs` `pkg-config dinrhiw --libs`
SOUND_TEST_TARGET=fmsound
SOUND_TEST_OBJECTS=sound_test.o SDLSoundSynthesis.o FMSoundSynthesis.o SDLMicrophoneListener.o SoundSynthesis.o hsv.o ts_measure.o SDLAVCodec.o
# pictureAutoencoder.o
# Adding these to SOUND leads to cygheap read copy failed..
# ts_measure.o pictureAutoencoder.o hsv.o
R9E_TARGET=renaissance
R9E_LIBS=`/usr/local/bin/sdl2-config --libs` `pkg-config SDL2_image --libs` `pkg-config SDL2_ttf --libs` `pkg-config dinrhiw --libs`
R9E_OBJECTS=renaissance.o pictureAutoencoder.o measurements.o optimizeResponse.o stimulation.o MuseOSC.o NoEEGDevice.o RandomEEG.o hsv.o
TS_TARGET=timeseries
TS_LIBS=`pkg-config sdl2 --libs` `pkg-config SDL2_image --libs` `pkg-config SDL2_ttf --libs` `pkg-config dinrhiw --libs`
TS_OBJECTS=timeseries.o ts_measure.o hsv.o MuseOSC.o RandomEEG.o ReinforcementPictures.o ReinforcementSounds.o SDLSoundSynthesis.o FMSoundSynthesis.o SoundSynthesis.o
TRANQUILITY_TARGET=tranquility
TRANQUILITY_LIBS=`pkg-config sdl2 --libs` `pkg-config --libs SDL2_ttf` `pkg-config --libs SDL2_image` `pkg-config --libs SDL2_mixer` `pkg-config --libs dinrhiw` `python3-config --ldflags --embed` `pkg-config vorbis --libs` `pkg-config vorbisenc --libs` -fopenmp -ltheoraenc -ltheoradec -logg -lws2_32 -Lemotiv_insight -ledk `pkg-config libavcodec --libs` `pkg-config libavformat --libs` `pkg-config libavutil --libs`
TRANQUILITY_OBJECTS=$(OBJECTS) tmain.o
############################################################
all: $(OBJECTS) tranquility
# resonanz
# jnilib spectral_test
resonanz: $(RESONANZ_OBJECTS)
$(CXX) $(CXXFLAGS) -o $(TARGET) $(RESONANZ_OBJECTS) $(LIBS)
tranquility: $(TRANQUILITY_OBJECTS)
$(CXX) $(CXXFLAGS) -o $(TRANQUILITY_TARGET) $(TRANQUILITY_OBJECTS) $(LIBS)
renaissance: $(R9E_OBJECTS)
$(CXX) $(CXXFLAGS) -o $(R9E_TARGET) $(R9E_OBJECTS) $(R9E_LIBS) $(LIBS)
timeseries: $(TS_OBJECTS)
$(CXX) $(CXXFLAGS) -o $(TS_TARGET) $(TS_OBJECTS) $(TS_LIBS)
jnilib: $(JNILIB_OBJECTS)
$(CXX) -shared -Wl,-soname,$(JNITARGET) -o lib$(JNITARGET) $(JNILIB_OBJECTS) $(LIBS)
# DUMMY JNI INTERFACE FILE USED FOR TESTING JNI INTERFACE (LOADLIBRARY) WORKS..
dummy: jni/dummy.o
$(CXX) -shared -Wl,-soname,dummy.so -o libdummy.so jni/dummy.o
sound: $(SOUND_TEST_OBJECTS)
$(CXX) $(CXXFLAGS) -o $(SOUND_TEST_TARGET) $(SOUND_TEST_OBJECTS) $(SOUND_LIBS) $(LIBS)
spectral_test: $(SPECTRAL_TEST_OBJECTS)
$(CXX) $(CXXFLAGS) -o $(SPECTRAL_TEST_TARGET) $(SPECTRAL_TEST_OBJECTS) $(LIBS)
maximpact: $(MAXIMPACT_OBJECTS)
$(CXX) $(MAXIMPACT_CXXFLAGS) -o $(MAXIMPACT_TARGET) $(MAXIMPACT_OBJECTS) $(MAXIMPACT_LIBS)
clean:
$(RM) $(OBJECTS)
$(RM) $(MAXIMPACT_OBJECTS)
$(RM) $(R9E_OBJECTS)
$(RM) $(SPECTRAL_TEST_OBJECTS)
$(RM) $(TARGET)
$(RM) $(RESONANZ_OBJECTS) $(JNILIB_OBJECTS) $(SOUND_TEST_OBJECTS)
$(RM) $(JNITATGET) $(SOUND_TEST_TARGET) $(SPECTRAL_TEST_TARGET) $(MAXIMPACT_TARGET)
$(RM) $(TS_OBJECTS)
$(RM) $(TS_TARGET)
$(RM) *~
depend:
$(CXX) $(CXXFLAGS) -MM $(SOURCES) > Makefile.depend
############################################################
include Makefile.depend