joeylib2/make/be.mk
2026-10-13 14:01:46 -05:00

28 lines
1.4 KiB
Makefile

# Part of JoeyLib, Copyright (c) 2026 Scott Duensing, under the MIT License.
# See LICENSE.md for license information.
# SPDX-License-Identifier: MIT
#
# Be API build rules: JoeyLib programs as Haiku programs, through the hosted
# core and its Be API backend (src/hosted, src/hosted/be, C++). The rules are
# make/hosted.mk's; this file says what the Be ports share, and
# make/haiku.mk (x86_64, gcc 13) and make/haiku32.mk (32-bit x86, gcc 2.95:
# the BeOS C++ ABI) what their compilers are. A project reaches them through
# make/project.mk.
#
# A program is a Haiku executable NAME (no extension), in bin/ or in its own
# bin/NAME/ with its DATA beside it: the port makes the executable's folder
# the current directory when the window opens. Cross-compiled on this
# machine; joey-run and the gates run it in a Haiku VM under QEMU. Each
# includes common.mk, sets HOSTED_CC, HOSTED_CXX and HOSTED_AR, and
# BE_CXX_RUNTIME (its C++ runtime library), then includes this file.
HOSTED_BACKEND := be
HOSTED_DEFINES := -DJOEYLIB_PLATFORM_HOSTED -DJOEYLIB_HOSTED_BE
HOSTED_SDK_CFLAGS :=
# The Interface and Application Kits (libbe), the Media Kit's BSoundPlayer
# (libmedia), the Device Kit's BJoystick (libdevice); the backend's C++ is
# linked by the C compiler, so its runtime is named too.
HOSTED_LINK := -lbe -lmedia -ldevice $(BE_CXX_RUNTIME)
PROGRAM_EXT :=
include $(REPO_DIR)/make/hosted.mk