summaryrefslogtreecommitdiffstats
path: root/src/Makefile.am
blob: edec1b16a5d62dc0e933bcc053124f4a66556fe9 (plain) (blame)
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
#bin_PROGRAMS = food cookbook cook synth
bin_PROGRAMS = synth # gtk

common_sources = adsr.c \
		 adsr.h \
		 control.c \
		 control.h \
		 filter.c \
                 filter.h \
                 lowpass.c \
                 lowpass.h \
                 Makefile.am \
                 midi.c \
                 midi.h \
                 notes.h \
                 osc.c \
                 osc.h \
                 osc_tri.c \
                 osc_sin.c \
                 osc_digisaw.c \
                 osc_saw.c \
                 osc_weird.c \
                 osc_sqr.c \
                 osc_sound.c \
                 pa_ringbuffer.c \
                 pa_ringbuffer.h \
                 pa_memorybarrier.h \
                 raygui.h \
                 sound.c \
                 sound.h \
                 synth_common.h \
                 synth_engine_v2.c \
                 synth_engine.h \
                 synth_gui.c \
                 synth_gui.h \
                 synth_math.h

gtk_sources = 

# -fwhole-program allows cross-file inlining, but only works when you put all
# the source files on one gcc command-line. -flto is another way to get the
# same effect. (Link-Time Optimization). clang supports -flto but not
# -fwhole-program.

# If your program doesn't depend on strict FP rounding
# behaviour, use -ffast-math. If it does, you can usually still use
# -fno-math-errno and stuff like that, without enabling
# -funsafe-math-optimizations. Some FP code can get big speedups from
# fast-math, like auto-vectorization.
AM_CFLAGS = -O3 -march=native -fno-math-errno -funroll-loops -flto -pthread

synth_SOURCES = synth.c $(common_sources)
synth_LDADD = -lportaudio -lrt -lm -lasound -lraylib -lportmidi -ljack -lfftw3f -lsndfile -lconfig

# gtk_SOURCES = gtk.c $(common_sources) $(gtk_sources)
# gtk_LDADD = -lportaudio -lrt -lm -lasound -lraylib -lportmidi -ljack -lfftw3f -lsndfile -lconfig -lgtk-4 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -lgdk_pixbuf-2.0 -lcairo-gobject -lcairo -lgraphene-1.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0
# gtk_CFLAGS = -I/usr/include/gtk-4.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/graphene-1.0 -I/usr/lib/graphene-1.0/include -mfpmath=sse -msse -msse2 -pthread
#cookbook_SOURCES = cookbook.c $(common_sources)
#cookbook_SOURCES = cookbook.c $(common_sources)
#cook_SOURCES = cook.c $(common_sources)