11 # ---------------------------------------------------------------------------------------------------------------------
13 YSFX_FLAGS
+= -fsigned-char
14 YSFX_FLAGS
+= -Iinclude
-Isources
15 YSFX_FLAGS
+= -Ithirdparty
/WDL
/source
-Ithirdparty
/dr_libs
-Ithirdparty
/stb
16 YSFX_FLAGS
+= -DEELSCRIPT_NO_NET
17 YSFX_FLAGS
+= -DEELSCRIPT_NO_LICE
18 YSFX_FLAGS
+= -DNSEEL_ATOF
=ysfx_wdl_atof
19 YSFX_FLAGS
+= -DWDL_FFT_REALSIZE
=8
20 YSFX_FLAGS
+= -DWDL_LINEPARSE_ATOF
=ysfx_wdl_atof
21 YSFX_FLAGS
+= -DWDL_WIN32_UTF8_NO_UI_IMPL
22 YSFX_FLAGS
+= -DYSFX_API
=
23 YSFX_FLAGS
+= -DYSFX_NO_STANDARD_MUTEX
25 # FIXME so many warnings..
26 # YSFX_FLAGS += -Wno-missing-field-initializers
27 YSFX_FLAGS
+= -Wno-ignored-attributes
28 YSFX_FLAGS
+= -Wno-sign-compare
29 YSFX_FLAGS
+= -Wno-unused-function
30 YSFX_FLAGS
+= -Wno-unused-parameter
32 ifeq ($(CPU_I386_OR_X86_64
),true
)
34 YSFX_NATIVELY_OPTIMIZED
= true
36 else ifeq ($(CPU_ARM64
),true
)
37 YSFX_NATIVELY_OPTIMIZED
= true
40 ifeq ($(YSFX_FTS_LACKS_LFS_SUPPORT
),true
)
41 YSFX_FLAGS
+= -DYSFX_FTS_LACKS_LFS_SUPPORT
44 ifneq ($(YSFX_NATIVELY_OPTIMIZED
),true
)
45 # missing optimized assembly code or not running properly yet, use portable slower approach
46 YSFX_FLAGS
+= -DEEL_TARGET_PORTABLE
49 ifeq ($(WINDOWS
),true
)
50 YSFX_FLAGS
+= -DNOMINMAX
-UUNICODE
-U_UNICODE
52 # Not compatible with MingGW
53 YSFX_FLAGS
+= -D_FILE_OFFSET_BITS
=64
56 ifeq ($(HAVE_YSFXGUI
),true
)
57 ifneq ($(MACOS_OR_WINDOWS
),true
)
58 YSFX_FLAGS
+= -DSWELL_LICE_GDI
-DSWELL_FONTCONFIG
-DSWELL_FREETYPE
61 YSFX_FLAGS
+= -DYSFX_NO_GFX
66 YSFX_FLAGS
+= -pthread
70 BUILD_C_FLAGS
+= $(YSFX_FLAGS
)
71 BUILD_CXX_FLAGS
+= $(YSFX_FLAGS
)
73 # ---------------------------------------------------------------------------------------------------------------------
75 OBJS
= $(OBJDIR
)/sources
/ysfx.
cpp.o
76 OBJS
+= $(OBJDIR
)/sources
/ysfx_api_eel.
cpp.o
77 OBJS
+= $(OBJDIR
)/sources
/ysfx_api_file.
cpp.o
78 OBJS
+= $(OBJDIR
)/sources
/ysfx_api_gfx.
cpp.o
79 OBJS
+= $(OBJDIR
)/sources
/ysfx_api_reaper.
cpp.o
80 OBJS
+= $(OBJDIR
)/sources
/ysfx_audio_flac.
cpp.o
81 OBJS
+= $(OBJDIR
)/sources
/ysfx_audio_wav.
cpp.o
82 OBJS
+= $(OBJDIR
)/sources
/ysfx_config.
cpp.o
83 OBJS
+= $(OBJDIR
)/sources
/ysfx_eel_utils.
cpp.o
84 OBJS
+= $(OBJDIR
)/sources
/ysfx_midi.
cpp.o
85 OBJS
+= $(OBJDIR
)/sources
/ysfx_parse.
cpp.o
86 OBJS
+= $(OBJDIR
)/sources
/ysfx_reader.
cpp.o
87 OBJS
+= $(OBJDIR
)/sources
/ysfx_utils.
cpp.o
88 OBJS
+= $(OBJDIR
)/sources
/ysfx_utils_fts.
cpp.o
89 OBJS
+= $(OBJDIR
)/sources
/eel2-gas
/sources
/asm-nseel-x64-sse.S.o
90 OBJS
+= $(OBJDIR
)/thirdparty
/WDL
/source
/WDL
/eel2
/nseel-caltab.c.o
91 OBJS
+= $(OBJDIR
)/thirdparty
/WDL
/source
/WDL
/eel2
/nseel-cfunc.c.o
92 OBJS
+= $(OBJDIR
)/thirdparty
/WDL
/source
/WDL
/eel2
/nseel-compiler.c.o
93 OBJS
+= $(OBJDIR
)/thirdparty
/WDL
/source
/WDL
/eel2
/nseel-eval.c.o
94 OBJS
+= $(OBJDIR
)/thirdparty
/WDL
/source
/WDL
/eel2
/nseel-lextab.c.o
95 OBJS
+= $(OBJDIR
)/thirdparty
/WDL
/source
/WDL
/eel2
/nseel-ram.c.o
96 OBJS
+= $(OBJDIR
)/thirdparty
/WDL
/source
/WDL
/eel2
/nseel-yylex.c.o
97 OBJS
+= $(OBJDIR
)/thirdparty
/WDL
/source
/WDL
/fft.c.o
98 ifeq ($(WINDOWS
),true
)
99 OBJS
+= $(OBJDIR
)/thirdparty
/WDL
/source
/WDL
/win32_utf8.c.o
102 ifeq ($(HAVE_YSFXGUI
),true
)
103 OBJS
+= $(OBJDIR
)/sources
/lice_stb
/lice_stb_loaders.
cpp.o
104 OBJS
+= $(OBJDIR
)/sources
/lice_stb
/lice_stb_bmp.
cpp.o
105 OBJS
+= $(OBJDIR
)/sources
/lice_stb
/lice_stb_gif.
cpp.o
106 OBJS
+= $(OBJDIR
)/sources
/lice_stb
/lice_stb_jpg.
cpp.o
107 OBJS
+= $(OBJDIR
)/sources
/lice_stb
/lice_stb_png.
cpp.o
108 OBJS
+= $(OBJDIR
)/sources
/lice_stb
/lice_stb_write.
cpp.o
109 OBJS
+= $(OBJDIR
)/thirdparty
/WDL
/source
/WDL
/lice
/lice.
cpp.o
110 OBJS
+= $(OBJDIR
)/thirdparty
/WDL
/source
/WDL
/lice
/lice_arc.
cpp.o
111 OBJS
+= $(OBJDIR
)/thirdparty
/WDL
/source
/WDL
/lice
/lice_colorspace.
cpp.o
112 OBJS
+= $(OBJDIR
)/thirdparty
/WDL
/source
/WDL
/lice
/lice_image.
cpp.o
113 OBJS
+= $(OBJDIR
)/thirdparty
/WDL
/source
/WDL
/lice
/lice_line.
cpp.o
114 OBJS
+= $(OBJDIR
)/thirdparty
/WDL
/source
/WDL
/lice
/lice_palette.
cpp.o
115 OBJS
+= $(OBJDIR
)/thirdparty
/WDL
/source
/WDL
/lice
/lice_texgen.
cpp.o
116 OBJS
+= $(OBJDIR
)/thirdparty
/WDL
/source
/WDL
/lice
/lice_text.
cpp.o
117 OBJS
+= $(OBJDIR
)/thirdparty
/WDL
/source
/WDL
/lice
/lice_textnew.
cpp.o
118 ifneq ($(WINDOWS
),true
)
119 OBJS
+= $(OBJDIR
)/thirdparty
/WDL
/source
/WDL
/swell
/swell-ini.
cpp.o
120 OBJS
+= $(OBJDIR
)/thirdparty
/WDL
/source
/WDL
/swell
/swell.
cpp.o
122 OBJS
+= $(OBJDIR
)/thirdparty
/WDL
/source
/WDL
/swell
/swell-appstub.mm.o
123 OBJS
+= $(OBJDIR
)/thirdparty
/WDL
/source
/WDL
/swell
/swell-dlg.mm.o
124 OBJS
+= $(OBJDIR
)/thirdparty
/WDL
/source
/WDL
/swell
/swell-gdi.mm.o
125 OBJS
+= $(OBJDIR
)/thirdparty
/WDL
/source
/WDL
/swell
/swell-kb.mm.o
126 OBJS
+= $(OBJDIR
)/thirdparty
/WDL
/source
/WDL
/swell
/swell-menu.mm.o
127 OBJS
+= $(OBJDIR
)/thirdparty
/WDL
/source
/WDL
/swell
/swell-misc.mm.o
128 OBJS
+= $(OBJDIR
)/thirdparty
/WDL
/source
/WDL
/swell
/swell-miscdlg.mm.o
129 OBJS
+= $(OBJDIR
)/thirdparty
/WDL
/source
/WDL
/swell
/swell-modstub.mm.o
130 OBJS
+= $(OBJDIR
)/thirdparty
/WDL
/source
/WDL
/swell
/swell-wnd.mm.o
132 OBJS
+= $(OBJDIR
)/thirdparty
/WDL
/source
/WDL
/swell
/swell-appstub-generic.
cpp.o
133 OBJS
+= $(OBJDIR
)/thirdparty
/WDL
/source
/WDL
/swell
/swell-dlg-generic.
cpp.o
134 OBJS
+= $(OBJDIR
)/thirdparty
/WDL
/source
/WDL
/swell
/swell-gdi-generic.
cpp.o
135 OBJS
+= $(OBJDIR
)/thirdparty
/WDL
/source
/WDL
/swell
/swell-gdi-lice.
cpp.o
136 OBJS
+= $(OBJDIR
)/thirdparty
/WDL
/source
/WDL
/swell
/swell-generic-gdk.
cpp.o
137 OBJS
+= $(OBJDIR
)/thirdparty
/WDL
/source
/WDL
/swell
/swell-generic-headless.
cpp.o
138 OBJS
+= $(OBJDIR
)/thirdparty
/WDL
/source
/WDL
/swell
/swell-kb-generic.
cpp.o
139 OBJS
+= $(OBJDIR
)/thirdparty
/WDL
/source
/WDL
/swell
/swell-menu-generic.
cpp.o
140 OBJS
+= $(OBJDIR
)/thirdparty
/WDL
/source
/WDL
/swell
/swell-misc-generic.
cpp.o
141 OBJS
+= $(OBJDIR
)/thirdparty
/WDL
/source
/WDL
/swell
/swell-miscdlg-generic.
cpp.o
142 OBJS
+= $(OBJDIR
)/thirdparty
/WDL
/source
/WDL
/swell
/swell-modstub-generic.
cpp.o
143 OBJS
+= $(OBJDIR
)/thirdparty
/WDL
/source
/WDL
/swell
/swell-wnd-generic.
cpp.o
148 # ---------------------------------------------------------------------------------------------------------------------
150 all: $(MODULEDIR
)/$(MODULENAME
).a
152 # ---------------------------------------------------------------------------------------------------------------------
155 rm -f
$(OBJS
) $(MODULEDIR
)/$(MODULENAME
)*.a
160 # ---------------------------------------------------------------------------------------------------------------------
162 $(MODULEDIR
)/$(MODULENAME
).a
: $(OBJS
)
163 -@mkdir
-p
$(MODULEDIR
)
164 @echo
"Creating $(MODULENAME).a"
168 # ---------------------------------------------------------------------------------------------------------------------
173 @
$(CC
) $< $(BUILD_C_FLAGS
) -c
-o
$@
175 $(OBJDIR
)/%.
cpp.o
: %.
cpp
178 @
$(CXX
) $< $(BUILD_CXX_FLAGS
) -c
-o
$@
180 $(OBJDIR
)/%.mm.o
: %.mm
183 @
$(CXX
) $< $(BUILD_CXX_FLAGS
) -ObjC
++ -c
-o
$@
188 @
$(CC
) $< $(BUILD_C_FLAGS
) -c
-o
$@
190 -include $(OBJS
:%.o
=%.d
)
192 # ---------------------------------------------------------------------------------------------------------------------