1 | # $Id: Makefile.kmk 98103 2023-01-17 14:15:46Z vboxsync $
|
---|
2 | ## @file
|
---|
3 | # Sub-Makefile for libvorbis.
|
---|
4 | #
|
---|
5 |
|
---|
6 | #
|
---|
7 | # Copyright (C) 2022-2023 Oracle and/or its affiliates.
|
---|
8 | #
|
---|
9 | # This file is part of VirtualBox base platform packages, as
|
---|
10 | # available from https://www.virtualbox.org.
|
---|
11 | #
|
---|
12 | # This program is free software; you can redistribute it and/or
|
---|
13 | # modify it under the terms of the GNU General Public License
|
---|
14 | # as published by the Free Software Foundation, in version 3 of the
|
---|
15 | # License.
|
---|
16 | #
|
---|
17 | # This program is distributed in the hope that it will be useful, but
|
---|
18 | # WITHOUT ANY WARRANTY; without even the implied warranty of
|
---|
19 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
---|
20 | # General Public License for more details.
|
---|
21 | #
|
---|
22 | # You should have received a copy of the GNU General Public License
|
---|
23 | # along with this program; if not, see <https://www.gnu.org/licenses>.
|
---|
24 | #
|
---|
25 | # SPDX-License-Identifier: GPL-3.0-only
|
---|
26 | #
|
---|
27 |
|
---|
28 | SUB_DEPTH = ../../..
|
---|
29 | include $(KBUILD_PATH)/subheader.kmk
|
---|
30 |
|
---|
31 |
|
---|
32 | #
|
---|
33 | # Need to drop some assembly flags and add some C flags (gcc) present in
|
---|
34 | # VBoxR3DllNonPedantic. So, create or own template deriving from it.
|
---|
35 | #
|
---|
36 | # Note! We ASSUME that see is available here (doesn't build cleanly on 32-bit
|
---|
37 | # linux without this assumption). Too bad for anyone with ancient CPUs.
|
---|
38 | #
|
---|
39 | TEMPLATE_VBOXLIBVORBIS = Template for adjusting assembler and C compiler flags.
|
---|
40 | TEMPLATE_VBOXLIBVORBIS_EXTENDS = VBoxR3DllNonPedanticFast
|
---|
41 | ifeq ($(KBUILD_TARGET),win)
|
---|
42 | TEMPLATE_VBOXLIBVORBIS_ASFLAGS.amd64 = $(filter-out -Worphan-labels -f win64, $(TEMPLATE_VBoxR3DllNonPedanticFast_ASFLAGS.amd64)) \
|
---|
43 | -f x64
|
---|
44 | else
|
---|
45 | TEMPLATE_VBOXLIBVORBIS_CFLAGS = $(filter-out $(VBOX_GCC_fvisibility-hidden), $(TEMPLATE_VBoxR3DllNonPedanticFast_CFLAGS))
|
---|
46 | TEMPLATE_VBOXLIBVORBIS_CFLAGS.amd64 = $(TEMPLATE_VBoxR3DllNonPedanticFast_CFLAGS.amd64) -msse # Needed?
|
---|
47 | TEMPLATE_VBOXLIBVORBIS_CFLAGS.x86 = $(TEMPLATE_VBoxR3DllNonPedanticFast_CFLAGS.x86) -msse
|
---|
48 | TEMPLATE_VBOXLIBVORBIS_ASFLAGS.amd64 = $(filter-out -Worphan-labels, $(TEMPLATE_VBoxR3DllNonPedanticFast_ASFLAGS.amd64))
|
---|
49 | TEMPLATE_VBOXLIBVORBIS_ASFLAGS.x86 = $(filter-out -Worphan-labels, $(TEMPLATE_VBoxR3DllNonPedanticFast_ASFLAGS.x86))
|
---|
50 | endif
|
---|
51 |
|
---|
52 |
|
---|
53 | #
|
---|
54 | # The VBox libvorbis shared library.
|
---|
55 | #
|
---|
56 | LIBRARIES += VBox-libvorbis
|
---|
57 | VBox-libvorbis_TEMPLATE := VBOXLIBVORBIS
|
---|
58 |
|
---|
59 | VBox-libvorbis_INCS := \
|
---|
60 | . \
|
---|
61 | include \
|
---|
62 | lib \
|
---|
63 | ../libogg-1.3.5/include
|
---|
64 |
|
---|
65 | # Include our own config.h. Not required on Windows.
|
---|
66 | ifn1of ($(KBUILD_TARGET), win)
|
---|
67 | VBox-libvorbis_DEFS += HAVE_CONFIG_H
|
---|
68 | endif
|
---|
69 |
|
---|
70 | VBox-libvorbis_SOURCES := \
|
---|
71 | lib/mdct.c \
|
---|
72 | lib/smallft.c \
|
---|
73 | lib/block.c \
|
---|
74 | lib/envelope.c \
|
---|
75 | lib/window.c \
|
---|
76 | lib/lsp.c \
|
---|
77 | lib/lpc.c \
|
---|
78 | lib/analysis.c \
|
---|
79 | lib/synthesis.c \
|
---|
80 | lib/psy.c \
|
---|
81 | lib/info.c \
|
---|
82 | lib/floor1.c \
|
---|
83 | lib/floor0.c \
|
---|
84 | lib/res0.c \
|
---|
85 | lib/mapping0.c \
|
---|
86 | lib/registry.c \
|
---|
87 | lib/codebook.c \
|
---|
88 | lib/sharedbook.c \
|
---|
89 | lib/lookup.c \
|
---|
90 | lib/bitrate.c \
|
---|
91 | lib/vorbisenc.c \
|
---|
92 | lib/vorbisfile.c
|
---|
93 |
|
---|
94 | include $(FILE_KBUILD_SUB_FOOTER)
|
---|