+#################### COMPILE OPTIONS #######################
+
+#Uncomment this for fixed-point build
+#FIXED_POINT=1
+
+#If you have a C99 compiler, you don't need this
+CFLAGS += -Drestrict=
+
+#It is strongly recommended to uncomment one of these
+#VAR_ARRAYS: Use C99 variable-length arrays for stack allocation
+#USE_ALLOCA: Use alloca() for stack allocation
+#If none is defined, then the fallback is a non-threadsafe global array
+#CFLAGS += -DUSE_ALLOCA
+#CFLAGS += -DVAR_ARRAYS
+
+###################### END OF OPTIONS ######################
+
include silk_sources.mk
include celt_sources.mk
include opus_sources.mk
ldlibs-from-libs = $(addprefix -l,$(1))
WARNINGS = -Wall -W -Wstrict-prototypes -Wextra -Wcast-align -Wnested-externs -Wshadow -Wno-parentheses -Wno-unused-parameter -Wno-sign-compare
-CFLAGS += -O2 -g $(WARNINGS) -DOPUS_BUILD -Drestrict=
+CFLAGS += -O2 -g $(WARNINGS) -DOPUS_BUILD
+ifdef FIXED_POINT
+CFLAGS += -DFIXED_POINT=1 -DDISABLE_FLOAT_API
+endif
CFLAGS += $(call cppflags-from-defines,$(CDEFINES))
CFLAGS += $(call cppflags-from-includes,$(CINCLUDES))
# Directives
-CINCLUDES += silk/interface \
- silk/src_common \
- silk/test silk/src_FIX \
- silk/src_FLP \
- silk/src_SigProc_FIX \
- silk/src_SigProc_FLP \
- celt/libcelt \
- src
+CINCLUDES += silk/ \
+ silk/float/ \
+ silk/fixed/ \
+ libcelt/ \
+ src/
# VPATH e.g. VPATH = src:../headers
VPATH = ./ \
TESTOPUS_SRCS_C = src/test_opus.c
TESTOPUS_OBJS := $(patsubst %.c,%$(OBJSUFFIX),$(TESTOPUS_SRCS_C))
-LIBS = $(LIB_NAME) m
+LIBS = m
LDLIBDIRS = ./
$(TARGET): $(OBJS)
$(ARCHIVE.cmdline)
-test_opus$(EXESUFFIX): $(TESTOPUS_OBJS)
+test_opus$(EXESUFFIX): $(TESTOPUS_OBJS) $(TARGET)
$(LINK.o.cmdline)
clean:
- rm -f test_opus libopus.a $(OBJS)
+ rm -f test_opus$(EXESUFFIX) $(TARGET) $(OBJS) $(TESTOPUS_OBJS)