1
0
mirror of https://github.com/Interlisp/maiko.git synced 2026-03-18 15:52:52 +00:00

Compare commits

..

11 Commits

Author SHA1 Message Date
Frank Halasz
bbe011c583 Take geminis suggestion on getting glibc version number in linux-common.mk 2026-03-18 01:27:16 -07:00
Frank Halasz
54c81a3762 Fixed comment in linux-compiler.mk 2026-03-18 01:15:21 -07:00
Frank Halasz
6c20a5c635 Fixed comment in linux-compiler.mk 2026-03-18 01:03:32 -07:00
Frank Halasz
1195048b1b Ooops. Took out debugging code. 2026-03-18 00:51:03 -07:00
Frank Halasz
7a286a8f1f Fix sed script in linux-common.mk 2026-03-18 00:50:14 -07:00
Frank Halasz
034c52b86f In CMakelists, limit use of libbsd for linux to cases where libc does not include strlcat 2026-03-18 00:25:28 -07:00
Frank Halasz
a26cafcbda Change USE_GCC=T/USE_CLANG=T to USE_COMPILER=clang/gcc for linux-y makefiles 2026-03-18 00:01:24 -07:00
Frank Halasz
c6f3ba4305 Including all suggestions made by Gemeni code check. Now includes linking to libbsd (if requested) only if glibc < version 2.38 since glibc >= 2.38 includes strlcat and friends. 2026-03-17 23:02:12 -07:00
Frank Halasz
3430574f61 More updates to github actions to account for deprecation of Node 20. 2026-03-14 20:43:13 -07:00
Frank Halasz
07e009cf08 Update github actions to latest versions to account for deprecation of node 20. 2026-03-14 19:37:40 -07:00
Frank Halasz
25654fa090 For Linux makefiles, automated selection of gcc versus clang compiler depending on whats installed. Refactored Linux makefiles to simplify top level makefiles with slightly more complicated common makefiles. Makefiles for Cygwin and WSL1 all rewritten to use the common linux makefiles code. 2026-03-13 23:51:50 -07:00
26 changed files with 199 additions and 274 deletions

View File

@@ -13,7 +13,7 @@ jobs:
matrix:
os: [macos-11, macos-12, ubuntu-22.04, ubuntu-20.04]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v6
- name: Install X11 dependencies on MacOS
if: ${{ runner.os == 'macOS'}}
run: brew install --cask xquartz
@@ -28,7 +28,7 @@ jobs:
# runs-on: [self-hosted, linux, ARM]
# if: ${{ github.repository == 'Interlisp/maiko' }}
# steps:
# - uses: actions/checkout@v3
# - uses: actions/checkout@v6
# - name: Build
# working-directory: bin
# run: ./makeright x
@@ -41,7 +41,7 @@ jobs:
env:
BUILD_TYPE: Release
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v6
- name: Show CMake version
run: cmake --version
- name: Install X11 dependencies on MacOS

View File

@@ -34,7 +34,7 @@ jobs:
steps:
# Checkout maiko
- name: Checkout maiko
uses: actions/checkout@v3
uses: actions/checkout@v6
# Setup docker environment variables
- name: Setup Docker Environment Variables
@@ -49,18 +49,18 @@ jobs:
# Setup the Docker Machine Emulation environment.
- name: Set up QEMU
uses: docker/setup-qemu-action@master
uses: docker/setup-qemu-action@v4
with:
platforms: linux/amd64,linux/arm64,linux/arm/v7
# Setup the Docker Buildx funtion
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@master
uses: docker/setup-buildx-action@v4
# Login to ghcr.io
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
uses: docker/login-action@v4
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
@@ -71,7 +71,7 @@ jobs:
#
- name: Build Docker Images for Push to GHCR
if: ${{ true }}
uses: docker/build-push-action@v4
uses: docker/build-push-action@v7
with:
builder: ${{ steps.buildx.outputs.name }}
build-args: |

View File

@@ -123,7 +123,7 @@ jobs:
steps:
# Checkout the actions for this repo owner
- name: Checkout Actions
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
repository: ${{ github.repository_owner }}/.github
path: ./Actions_${{ github.sha }}
@@ -157,7 +157,7 @@ jobs:
steps:
# Checkout the actions for this repo owner
- name: Checkout Actions
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
repository: ${{ github.repository_owner }}/.github
path: ./Actions_${{ github.sha }}
@@ -165,7 +165,7 @@ jobs:
# Checkout the branch
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6
# Setup release tag
- name: Setup Release Tag
@@ -185,14 +185,14 @@ jobs:
# Setup the Docker Machine Emulation environment.
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
uses: docker/setup-qemu-action@v4
with:
platforms: linux/amd64,linux/arm64,linux/arm/v7
# Setup the Docker Buildx funtion
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v2
uses: docker/setup-buildx-action@v4
# Do the Docker Build using the Dockerfile in the repository we
# checked out. Save the results in a directory under /tmp to be used
@@ -204,7 +204,7 @@ jobs:
# Dockerfile, NOT HERE IN THE WORKFLOW.
#
- name: Build Docker Image and Save It Locally
uses: docker/build-push-action@v4
uses: docker/build-push-action@v7
with:
builder: ${{ steps.buildx.outputs.name }}
build-args: |
@@ -246,7 +246,7 @@ jobs:
# Push Release to github
- name: Push the release
uses: ncipollo/release-action@v1
uses: ncipollo/release-action@v1.21.0
with:
allowUpdates: true
artifacts:
@@ -280,11 +280,11 @@ jobs:
# Checkout the branch
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6
# Checkout the actions for this repo owner
- name: Checkout Actions
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
repository: ${{ github.repository_owner }}/.github
path: ./Actions_${{ github.sha }}
@@ -376,7 +376,7 @@ jobs:
# Push Release
- name: Push the release
uses: ncipollo/release-action@v1
uses: ncipollo/release-action@v1.21.0
with:
allowUpdates: true
artifacts:
@@ -434,13 +434,13 @@ jobs:
# Checkout the branch
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
path: cygwin\maiko
# Checkout the actions for this repo owner
- name: Checkout Actions
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
repository: ${{ github.repository_owner }}/.github
path: ./Actions_${{ github.sha }}
@@ -470,7 +470,7 @@ jobs:
# Push Release to github
- name: Push the release
uses: ncipollo/release-action@v1
uses: ncipollo/release-action@v1.21.0
with:
allowUpdates: true
artifacts:
@@ -501,7 +501,7 @@ jobs:
# Checkout the actions for this repo owner
- name: Checkout Actions
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
repository: ${{ github.repository_owner }}/.github
path: ./Actions_${{ github.sha }}
@@ -530,7 +530,7 @@ jobs:
# Checkout the maiko branch
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6
# Setup release tag
- name: Setup Release Tag
@@ -547,7 +547,7 @@ jobs:
# Push Release to github
- name: Push the release
uses: ncipollo/release-action@v1
uses: ncipollo/release-action@v1.21.0
with:
allowUpdates: true
artifacts: ${{ steps.tag.outputs.release_tag }}-emscripten.tgz
@@ -573,7 +573,7 @@ jobs:
steps:
# Checkout the actions for this repo owner
- name: Checkout Actions
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
repository: ${{ github.repository_owner }}/.github
path: ./Actions_${{ github.sha }}

View File

@@ -37,9 +37,12 @@ IF(NEED_LIB_M)
ENDIF()
IF (CMAKE_SYSTEM_NAME STREQUAL "Linux")
find_package(PkgConfig REQUIRED)
pkg_check_modules(LIBBSD-OVERLAY REQUIRED IMPORTED_TARGET "libbsd-overlay")
SET(MAIKO_LIBRARIES ${MAIKO_LIBRARIES} PkgConfig::LIBBSD-OVERLAY)
CHECK_LIBRARY_EXISTS(c strlcat "" NO_NEED_FOR_LIBBSD)
IF(NOT NO_NEED_FOR_LIBBSD)
find_package(PkgConfig REQUIRED)
pkg_check_modules(LIBBSD-OVERLAY REQUIRED IMPORTED_TARGET "libbsd-overlay")
SET(MAIKO_LIBRARIES ${MAIKO_LIBRARIES} PkgConfig::LIBBSD-OVERLAY)
ENDIF()
ENDIF()
SET (MAIKO_RELEASE 351 CACHE STRING "Release version to build. Release: 115, 200, 201, 210, 300, 350, 351")
@@ -540,12 +543,29 @@ IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/../" CACHE PATH "Installation prefix" FORCE)
ENDIF()
execute_process(
COMMAND sh -c "echo $(../bin/osversion).$(../bin/machinetype)"
OUTPUT_VARIABLE release_dir
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
COMMAND sh "${CMAKE_SOURCE_DIR}/bin/osversion"
OUTPUT_VARIABLE os_ver
OUTPUT_STRIP_TRAILING_WHITESPACE
RESULT_VARIABLE res
)
if(NOT res EQUAL 0)
message(FATAL_ERROR "osversion script failed")
endif()
execute_process(
COMMAND sh "${CMAKE_SOURCE_DIR}/bin/machinetype"
OUTPUT_VARIABLE machine_type
OUTPUT_STRIP_TRAILING_WHITESPACE
RESULT_VARIABLE res
)
if(NOT res EQUAL 0)
message(FATAL_ERROR "machinetype script failed")
endif()
set(release_dir "${os_ver}.${machine_type}")
INSTALL(TARGETS lde DESTINATION ${release_dir})
IF(MAIKO_DISPLAY_X11)
INSTALL(TARGETS ldex ldeinit DESTINATION ${release_dir})
ENDIF()

View File

@@ -1,15 +1,47 @@
# Common Options for All Linuxes
CC = gcc $(GCC_CFLAGS)
# CC = clang $(CLANG_CFLAGS)
include linux-compiler.mk
include linux-libbsd.mk
BSD_CFLAGS :=
BSD_LDFLAGS :=
ifeq ($(USE_LIBBSD),T)
# Use LIBBSD - but only if glibc < 2.38
# Because we only need strlcat, strlcpy and friends from libbsd
# and they are included in glibc from 2.38 on.
GLIBC_VERSION := $(shell getconf GNU_LIBC_VERSION | sed 's/glibc //')
GLIBC_CHECK := 0
ifneq ($(GLIBC_VERSION),)
GLIBC_CHECK := $(shell echo "$(GLIBC_VERSION) >= 2.38" | bc)
endif
ifneq ($(GLIBC_CHECK),1)
include linux-libbsd.mk
endif
endif
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g3
ifeq ($(USE_DISPLAY),x)
include linux-x.mk
DEFAULT_TARGET := ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldex
endif
ifeq ($(USE_DISPLAY),sdl)
include linux-sdl.mk
DEFAULT_TARGET := ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldesdl
endif
ifeq ($(USE_DISPLAY),init)
include linux-x.mk
DEFAULT_TARGET := ../$(OSARCHNAME)/ldeinit
endif
OPTFLAGS ?= -O2 -g3
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) $(BSD_CFLAGS) $(ADDITIONAL_DFLAGS)
LDFLAGS = $(XLDFLAGS) -lc -lm $(BSD_LDFLAGS)
LDELDFLAGS = $(XLDFLAGS) -lc -lm $(BSD_LDFLAGS)
ifeq ($(USE_DISPLAY),x)
LDELDFLAGS = $(XLDFLAGS) -lc -lm $(BSD_LDFLAGS)
else
LDELDFLAGS = -lc -lm $(BSD_LDFLAGS)
endif
OBJECTDIR = ../$(RELEASENAME)/
default: $(DEFAULT_TARGET)

37
bin/linux-compiler.mk Normal file
View File

@@ -0,0 +1,37 @@
# Select whether to use clang or gcc
# Priority
# 1. If USE_COMPILER=gcc or USE_COMPILER=clang on make command line use the requested compiler.
# 2. If clang is installed use it.
# 3. Use gcc
EXISTS_GCC := $(shell command -v gcc)
EXISTS_CLANG := $(shell command -v clang)
ifeq ($(or $(EXISTS_GCC),$(EXISTS_CLANG)),)
$(error "Cannot find compiler: neither gcc nor clang. Exiting.")
endif
COMPILER :=
ifeq ($(USE_COMPILER),clang)
ifeq ($(EXISTS_CLANG),)
$(error "USE_COMPILER=clang, but cannot find the clang compiler. Exiting")
endif
COMPILER := clang
else ifeq ($(USE_COMPILER),gcc)
ifeq ($(EXISTS_GCC),)
$(error "USE_COMPILER=gcc given, but cannot find the gcc compiler. Exiting")
endif
COMPILER := gcc
else ifneq ($(EXISTS_CLANG),)
COMPILER := clang
else
COMPILER := gcc
endif
ifeq ($(COMPILER),)
$(error "Oops. Trying to select gcc or clang but should never get here")
endif
ifeq ($(COMPILER),gcc)
CC := gcc $(GCC_CFLAGS)
else
CC := clang $(CLANG_CFLAGS)
endif

View File

@@ -4,7 +4,7 @@
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(MAKECMDGOALS),cleanup)
CHK_PKG_CONFIG := $(shell command -v pkg-config)
CHK_PKG_CONFIG := $(shell /bin/sh -c "command -v pkg-config")
ifeq ($(CHK_PKG_CONFIG),)
# pkg-config not found, print an error
$(error "pkg-config not found. Please install it to build this project.")
@@ -12,13 +12,15 @@ ifneq ($(MAKECMDGOALS),clean)
CHK_LIBBSD_DEV := $(shell pkg-config --exists libbsd-overlay && echo true)
ifneq ($(CHK_LIBBSD_DEV),true)
$(error "libbsd-dev (or libbsd-devel) package not found. Please install it to build this project.")
$(error "libbsd-dev (or libbsd-devel) package not found. Please install it to build this project.")
endif
endif
endif
BSD_CFLAGS = $(shell pkg-config --cflags libbsd-overlay)
BSD_CFLAGS := $(shell pkg-config --cflags libbsd-overlay)
BSD_LDFLAGS := $(shell pkg-config --libs libbsd-overlay)
endif # clean
endif # cleanup
BSD_LDFLAGS = $(shell pkg-config --libs libbsd-overlay)

View File

@@ -10,5 +10,5 @@ XFILES = $(OBJECTDIR)sdl.o
#
XFLAGS = -DSDL=2
XLDFLAGS = -lSDL2
XLDFLAGS ?= -lSDL2

View File

@@ -1,26 +1,9 @@
# Options for Linux, Intel x86_64 and X-Window
CC = gcc -m64 $(GCC_CFLAGS) -I/usr/local/include
#CC = clang -m64 $(CLANG_CFLAGS)
GCC_CFLAGS := -m64 $(GCC_CFLAGS) -I/usr/local/include
CLANG_CFLAGS := -m64 $(CLANG_CFLAGS) -I/usr/local/include
USE_DISPLAY=sdl
USE_LIBBSD=F
XLDFLAGS := -L/usr/local/lib -lSDL2
XFILES = $(OBJECTDIR)sdl.o
#
# For SDL version 2
# -DSDL=2 in XFLAGS and -lSDL2 in LDFLAGS
# For SDL version 3
# -DSDL=3 in XFLAGS and -lSDL3 in LDFLAGS
#
XFLAGS = -DSDL=2
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g3
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE)
LDFLAGS = -lm -L/usr/local/lib -lSDL2
#
LDELDFLAGS =
OBJECTDIR = ../$(RELEASENAME)/
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldesdl
include linux-common.mk

View File

@@ -1,28 +1,9 @@
# Options for Linux, Intel x86_64 and X-Window
# Options for Cygwin, Intel x86_64 and X-Window
#CC = gcc -m64 $(GCC_CFLAGS)
CC = clang -m64 $(CLANG_CFLAGS)
GCC_CFLAGS := -m64 $(GCC_CFLAGS)
CLANG_CFLAGS := -m64 $(CLANG_CFLAGS)
USE_DISPLAY=x
USE_LIBBSD=F
XFILES = $(OBJECTDIR)xmkicon.o \
$(OBJECTDIR)xbbt.o \
$(OBJECTDIR)dspif.o \
$(OBJECTDIR)xinit.o \
$(OBJECTDIR)xscroll.o \
$(OBJECTDIR)xcursor.o \
$(OBJECTDIR)xlspwin.o \
$(OBJECTDIR)xrdopt.o \
$(OBJECTDIR)xwinman.o
include linux-common.mk
XFLAGS = -DXWINDOW
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g3
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE)
LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
OBJECTDIR = ../$(RELEASENAME)/
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldex

View File

@@ -1,12 +1,9 @@
# Options for Linux, aarch64 processor, X windows, for INIT processing
include linux-x.mk
OPTFLAGS = -O0 -g
DEBUGFLAGS =
ADDITIONAL_DFLAGS = $(DEBUGFLAGS) -DNOVERSION -DINIT
USE_LIBBSD=T
USE_DISPLAY=init
include linux-common.mk
OPTFLAGS = -O0 -g
default : ../$(OSARCHNAME)/ldeinit

View File

@@ -1,12 +1,9 @@
# Options for Linux, x86 processor, X windows, for INIT processing
include linux-x.mk
OPTFLAGS = -O0 -g
DEBUGFLAGS =
ADDITIONAL_DFLAGS = $(DEBUGFLAGS) -DNOVERSION -DINIT
USE_LIBBSD=T
USE_DISPLAY=init
include linux-common.mk
OPTFLAGS = -O0 -g
default : ../$(OSARCHNAME)/ldeinit

View File

@@ -1,29 +1,9 @@
# Options for Windows System for Linux v1, aarch64 processor, X windows, for INIT processing
CC = gcc $(GCC_CFLAGS)
#CC = clang $(CLANG_CFLAGS)
XFILES = $(OBJECTDIR)xmkicon.o \
$(OBJECTDIR)xbbt.o \
$(OBJECTDIR)dspif.o \
$(OBJECTDIR)xinit.o \
$(OBJECTDIR)xscroll.o \
$(OBJECTDIR)xcursor.o \
$(OBJECTDIR)xlspwin.o \
$(OBJECTDIR)xrdopt.o \
$(OBJECTDIR)xwinman.o
XFLAGS = -DXWINDOW
# OPTFLAGS is normally -O2, for INIT we want unoptimized in case we need to debug it
OPTFLAGS = -O0 -g
DEBUGFLAGS =
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=$(RELEASE) -DNOVERSION -DINIT -D__wsl1__
ADDITIONAL_DFLAGS = $(DEBUGFLAGS) -DNOVERSION -DINIT -D__wsl1__
USE_LIBBSD=T
USE_DISPLAY=init
LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lbsd
LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lbsd
OBJECTDIR = ../$(RELEASENAME)/
default : ../$(OSARCHNAME)/ldeinit
include linux-common.mk

View File

@@ -1,29 +1,9 @@
# Options for Windows System for Linux v1, Intel x86_64 processor, X windows, for INIT processing
CC = gcc $(GCC_CFLAGS)
#CC = clang $(CLANG_CFLAGS)
XFILES = $(OBJECTDIR)xmkicon.o \
$(OBJECTDIR)xbbt.o \
$(OBJECTDIR)dspif.o \
$(OBJECTDIR)xinit.o \
$(OBJECTDIR)xscroll.o \
$(OBJECTDIR)xcursor.o \
$(OBJECTDIR)xlspwin.o \
$(OBJECTDIR)xrdopt.o \
$(OBJECTDIR)xwinman.o
XFLAGS = -DXWINDOW
# OPTFLAGS is normally -O2, for INIT we want unoptimized in case we need to debug it
OPTFLAGS = -O0 -g
DEBUGFLAGS =
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=$(RELEASE) -DNOVERSION -DINIT -D__wsl1__
ADDITIONAL_DFLAGS = $(DEBUGFLAGS) -DNOVERSION -DINIT -D__wsl1__
USE_LIBBSD=T
USE_DISPLAY=init
LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lbsd
LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lbsd
OBJECTDIR = ../$(RELEASENAME)/
default : ../$(OSARCHNAME)/ldeinit
include linux-common.mk

View File

@@ -1,10 +1,8 @@
# Options for Linux, Intel 386/486 and SDL
GCC_CFLAGS := -m64 $(GCC_CFLAGS)
CLANG_CFLAGS := -m64 $(CLANG_CFLAGS)
include linux-sdl.mk
GCC_CFLAGS := -m32 $(GCC_CFLAGS)
CLANG_CFLAGS := -m32 $(CLANG_CFLAGS)
USE_DISPLAY=sdl
USE_LIBBSD=T
include linux-common.mk
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldesdl

View File

@@ -2,9 +2,7 @@
GCC_CFLAGS := -m32 $(GCC_CFLAGS)
CLANG_CFLAGS := -m32 $(CLANG_CFLAGS)
include linux-x.mk
USE_DISPLAY=x
USE_LIBBSD=T
include linux-common.mk
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldex

View File

@@ -1,7 +1,6 @@
# Options for Linux, ARM64 and SDL
include linux-sdl.mk
USE_DISPLAY=sdl
USE_LIBBSD=T
include linux-common.mk
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldesdl

View File

@@ -1,7 +1,6 @@
# Options for Linux, aarch64 and X-Window
include linux-x.mk
USE_DISPLAY=x
USE_LIBBSD=T
include linux-common.mk
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldex

View File

@@ -1,7 +1,6 @@
# Options for Linux, ARMv7 and SDL
include linux-sdl.mk
USE_DISPLAY=sdl
USE_LIBBSD=T
include linux-common.mk
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldesdl

View File

@@ -1,7 +1,6 @@
# Options for Linux, ARMv7 and X-Window
include linux-x.mk
USE_DISPLAY=x
USE_LIBBSD=T
include linux-common.mk
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldex

View File

@@ -2,9 +2,7 @@
GCC_CFLAGS := -m64 $(GCC_CFLAGS)
CLANG_CFLAGS := -m64 $(CLANG_CFLAGS)
include linux-sdl.mk
USE_DISPLAY=sdl
USE_LIBBSD=T
include linux-common.mk
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldesdl

View File

@@ -2,9 +2,8 @@
GCC_CFLAGS := -m64 $(GCC_CFLAGS)
CLANG_CFLAGS := -m64 $(CLANG_CFLAGS)
include linux-x.mk
USE_DISPLAY=x
USE_LIBBSD=T
include linux-common.mk
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldex

View File

@@ -1,25 +1,7 @@
# Options for Windows System for Linux v1, ARM64 and SDL
CC = gcc $(GCC_CFLAGS)
#CC = clang $(CLANG_CFLAGS)
USE_DISPLAY=sdl
USE_LIBBSD=T
ADDITIONAL_DFLAGS := -D__wsl1__
XFILES = $(OBJECTDIR)sdl.o
#
# For SDL version 2
# -DSDL=2 in SDLFLAGS and -lSDL2 in LDFLAGS
# For SDL version 3
# -DSDL=3 in SDLFLAGS and -lSDL3 in LDFLAGS
#
SDLFLAGS = -DSDL=2
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g3
DFLAGS = $(SDLFLAGS) -DRELEASE=$(RELEASE) -D__wsl1__
LDFLAGS = -lSDL2 -lm -lbsd
LDELDFLAGS = -lbsd
OBJECTDIR = ../$(RELEASENAME)/
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldesdl
include linux-common.mk

View File

@@ -1,27 +1,7 @@
# Options for Windows System for Linux v1, aarch64 and X-Window
CC = gcc $(GCC_CFLAGS)
#CC = clang $(CLANG_CFLAGS)
USE_DISPLAY=x
USE_LIBBSD=T
ADDITIONAL_DFLAGS := -D__wsl1__
XFILES = $(OBJECTDIR)xmkicon.o \
$(OBJECTDIR)xbbt.o \
$(OBJECTDIR)dspif.o \
$(OBJECTDIR)xinit.o \
$(OBJECTDIR)xscroll.o \
$(OBJECTDIR)xcursor.o \
$(OBJECTDIR)xlspwin.o \
$(OBJECTDIR)xrdopt.o \
$(OBJECTDIR)xwinman.o
XFLAGS = -DXWINDOW
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g3
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) -D__wsl1__
LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lbsd
LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lbsd
OBJECTDIR = ../$(RELEASENAME)/
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldex
include linux-common.mk

View File

@@ -1,25 +1,9 @@
# Options for Windows System for Linux v1, Intel x86_64 and SDL
CC = gcc -m64 $(GCC_CFLAGS)
# CC = clang -m64 $(CLANG_CFLAGS)
GCC_CFLAGS := -m64 $(GCC_CFLAGS)
CLANG_CFLAGS := -m64 $(CLANG_CFLAGS)
USE_DISPLAY=sdl
USE_LIBBSD=T
ADDITIONAL_DFLAGS := -D__wsl1__
XFILES = $(OBJECTDIR)sdl.o
#
# For SDL version 2
# -DSDL=2 in XFLAGS and -lSDL2 in LDFLAGS
# For SDL version 3
# -DSDL=3 in XFLAGS and -lSDL3 in LDFLAGS
#
XFLAGS = -DSDL=2
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g3
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) -D__wsl1__
LDFLAGS = -lm -lSDL2 -lbsd
LDELDFLAGS = -lbsd
OBJECTDIR = ../$(RELEASENAME)/
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldesdl
include linux-common.mk

View File

@@ -1,28 +1,9 @@
# Options for Windows System for Linux v1, Intel x86_64 and X-Window
CC = gcc -m64 $(GCC_CFLAGS)
# CC = clang -m64 $(CLANG_CFLAGS)
GCC_CFLAGS := -m64 $(GCC_CFLAGS)
CLANG_CFLAGS := -m64 $(CLANG_CFLAGS)
USE_DISPLAY=x
USE_LIBBSD=T
ADDITIONAL_DFLAGS := -D__wsl1__
XFILES = $(OBJECTDIR)xmkicon.o \
$(OBJECTDIR)xbbt.o \
$(OBJECTDIR)dspif.o \
$(OBJECTDIR)xinit.o \
$(OBJECTDIR)xscroll.o \
$(OBJECTDIR)xcursor.o \
$(OBJECTDIR)xlspwin.o \
$(OBJECTDIR)xrdopt.o \
$(OBJECTDIR)xwinman.o
XFLAGS = -DXWINDOW
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g3
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) -D__wsl1__
LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lbsd
LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lbsd
OBJECTDIR = ../$(RELEASENAME)/
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldex
include linux-common.mk