joeylib2/make/beos.mk

25 lines
1.1 KiB
Makefile

# Part of JoeyLib, Copyright (c) 2026 Scott Duensing, under the MIT License.
# See LICENSE.md for license information.
# SPDX-License-Identifier: MIT
#
# BeOS R5 build rules (make beos): the Be API port, make/be.mk, built with
# gcc 2.95 -- the BeOS C++ ABI, the compiler make haiku32 uses (component
# haikuGcc2) -- against BeOS R5's own headers and libraries from your
# BeOS 5 Pro CD (component beosR5), through make/support/be/gcc2.sh in its
# R5 mode (BE_R5_SYSROOT). R5's C++ runtime is libstdc++.r4, as Haiku's
# gcc 2.95 one is.
PLATFORM := beos
include $(dir $(lastword $(MAKEFILE_LIST)))/common.mk
$(call requireTool,$(HAIKU32_ROOT)/cross/bin/i586-pc-haiku-g++,toolchain:beos)
$(call requireTool,$(BEOS_R5_SYSROOT)/system-lib/libbe.so,toolchain:beos)
BEOS_GCC2 := BE_R5_SYSROOT=$(BEOS_R5_SYSROOT) $(HAIKU32_GCC2) $(HAIKU32_ROOT)
# -fno-common: gcc 2.95 merges a program's uninitialised global into a
# library one of the same name; every other port's compiler refuses the link.
HOSTED_CC := $(BEOS_GCC2) gcc -fno-common
HOSTED_CXX := $(BEOS_GCC2) g++
HOSTED_AR := $(BEOS_GCC2) ar
BE_CXX_RUNTIME := -lstdc++.r4
include $(REPO_DIR)/make/be.mk