Add initial bits for Qt6 support
[carla.git] / source / modules / ysfx / Makefile
blobfaa4dc6100ba167a1bc1f729ad9dd397220704d1
1 #!/usr/bin/make -f
2 # Makefile for eel2 #
3 # ----------------- #
4 # Created by falkTX
7 CWD=../..
8 MODULENAME=ysfx
9 include ../Makefile.mk
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)
33 ifneq ($(WASM),true)
34 YSFX_NATIVELY_OPTIMIZED = true
35 endif
36 else ifeq ($(CPU_ARM64),true)
37 YSFX_NATIVELY_OPTIMIZED = true
38 endif
40 ifeq ($(YSFX_FTS_LACKS_LFS_SUPPORT),true)
41 YSFX_FLAGS += -DYSFX_FTS_LACKS_LFS_SUPPORT
42 endif
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
47 endif
49 ifeq ($(WINDOWS),true)
50 YSFX_FLAGS += -DNOMINMAX -UUNICODE -U_UNICODE
51 else
52 # Not compatible with MingGW
53 YSFX_FLAGS += -D_FILE_OFFSET_BITS=64
54 endif
56 ifeq ($(HAVE_YSFXGUI),true)
57 ifneq ($(MACOS_OR_WINDOWS),true)
58 YSFX_FLAGS += -DSWELL_LICE_GDI -DSWELL_FONTCONFIG -DSWELL_FREETYPE
59 endif
60 else
61 YSFX_FLAGS += -DYSFX_NO_GFX
62 endif
64 ifneq ($(HAIKU),true)
65 ifneq ($(WASM),true)
66 YSFX_FLAGS += -pthread
67 endif
68 endif
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
100 endif
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
121 ifeq ($(MACOS),true)
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
131 else # MACOS
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
144 endif # !WINDOWS
145 endif
146 endif # HAVE_YSFXGUI
148 # ---------------------------------------------------------------------------------------------------------------------
150 all: $(MODULEDIR)/$(MODULENAME).a
152 # ---------------------------------------------------------------------------------------------------------------------
154 clean:
155 rm -f $(OBJS) $(MODULEDIR)/$(MODULENAME)*.a
157 debug:
158 $(MAKE) DEBUG=true
160 # ---------------------------------------------------------------------------------------------------------------------
162 $(MODULEDIR)/$(MODULENAME).a: $(OBJS)
163 -@mkdir -p $(MODULEDIR)
164 @echo "Creating $(MODULENAME).a"
165 @rm -f $@
166 @$(AR) crs $@ $^
168 # ---------------------------------------------------------------------------------------------------------------------
170 $(OBJDIR)/%.c.o: %.c
171 -@mkdir -p $(dir $@)
172 @echo "Compiling $<"
173 @$(CC) $< $(BUILD_C_FLAGS) -c -o $@
175 $(OBJDIR)/%.cpp.o: %.cpp
176 -@mkdir -p $(dir $@)
177 @echo "Compiling $<"
178 @$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
180 $(OBJDIR)/%.mm.o: %.mm
181 -@mkdir -p $(dir $@)
182 @echo "Compiling $<"
183 @$(CXX) $< $(BUILD_CXX_FLAGS) -ObjC++ -c -o $@
185 $(OBJDIR)/%.S.o: %.S
186 -@mkdir -p $(dir $@)
187 @echo "Compiling $<"
188 @$(CC) $< $(BUILD_C_FLAGS) -c -o $@
190 -include $(OBJS:%.o=%.d)
192 # ---------------------------------------------------------------------------------------------------------------------