SchOS/projects/schcom/Makefile
Nexoniarz 26bca020b6 licence: SchOS is GPL-2.0-or-later, no longer Apache-2.0
Nexoniarz is the sole author and SchOS was never published under
Apache-2.0, so this is a straight relicence. LICENSE is the FSF GPLv2 text,
every first-party SPDX header moves to GPL-2.0-or-later, and NOTICE,
README.md, docs/licensing.md and the site say so. projects/schfs-linux
follows the rest of the tree.

The GPL gives copyleft: a fork has to ship its source. It also lifts the
old "Linux drivers, never" rule, since GPL-2.0-only code combines with
GPL-2.0-or-later. "Or later" leaves room for GPLv3, but one binary still
has to pick one version, so docs/licensing.md now keeps Apache-2.0 and
GPLv3 code out of the kernel to keep Linux code possible there. BSD
4-clause code goes from "avoid" to "no", because the advertising clause
is GPL-incompatible.

LDLS still ships no .ko. That boundary is now project policy rather than
a legal requirement, and ldls.md, devices.md and licensing.md section 6
say so. refmod declares license=GPL, and ldls-check passes (27 checks).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 08:48:45 +02:00

32 lines
776 B
Makefile

# SPDX-License-Identifier: GPL-2.0-or-later
#
# Schcom builds like any other program that runs *on* SchOS: against the
# sysroot's libc, never against kernel headers. The top-level Makefile passes
# CC, CFLAGS and DESTDIR in; nothing here reaches back up the tree.
#
# It is not part of the OS build. `make` at the top level never descends here --
# `make projects` does.
CC ?= cc
CFLAGS ?= -O2
CFLAGS += -Wall -Wextra -std=c11
DESTDIR ?= ../../sysroot
BINS = schcom schcom-demo
all: $(BINS)
schcom: schcom.c proto.h
$(CC) $(CFLAGS) -o $@ schcom.c $(LDFLAGS)
schcom-demo: schcom-demo.c proto.h
$(CC) $(CFLAGS) -o $@ schcom-demo.c $(LDFLAGS)
install: $(BINS)
mkdir -p $(DESTDIR)/bin
cp $(BINS) $(DESTDIR)/bin/
clean:
rm -f $(BINS)
.PHONY: all install clean