Some checks failed
CI / markdown-lint (push) Failing after 14s
- Updated .gitignore with comprehensive exclusions for build artifacts, IDE files, and OS-specific files - Created BlackBerry-inspired website with Heroicons and Gitea integration - Added complete project structure with all 7 phases implemented - Included kernel drivers, UI components, telephony stack, and packaging tools - Added emulation scripts for testing and development - Comprehensive documentation for all development phases - Security analysis and hardware testing guides - SDK and application framework for third-party development
71 lines
1.8 KiB
Makefile
71 lines
1.8 KiB
Makefile
# BBeOS UI Build System
|
|
# Builds UI components for BlackBerry Classic Q20
|
|
|
|
# Configuration
|
|
CC = arm-linux-gnueabihf-gcc
|
|
CFLAGS = -Wall -Wextra -O2 -g
|
|
LDFLAGS =
|
|
|
|
# Libraries
|
|
WAYLAND_LIBS = -lwayland-client -lwayland-server
|
|
WLROOTS_LIBS = -lwlr -lwlr-util
|
|
CAIRO_LIBS = -lcairo -lpango-1.0 -lpangocairo-1.0
|
|
XKB_LIBS = -lxkbcommon
|
|
MATH_LIBS = -lm
|
|
|
|
# Directories
|
|
COMPOSITOR_DIR = compositor
|
|
APPLICATIONS_DIR = applications
|
|
FRAMEWORK_DIR = framework
|
|
ASSETS_DIR = assets
|
|
|
|
# Targets
|
|
all: compositor applications
|
|
|
|
compositor: $(COMPOSITOR_DIR)/q20-compositor
|
|
|
|
applications: $(APPLICATIONS_DIR)/home-screen
|
|
|
|
# Compositor
|
|
$(COMPOSITOR_DIR)/q20-compositor: $(COMPOSITOR_DIR)/q20-compositor.c
|
|
$(CC) $(CFLAGS) -o $@ $< $(WAYLAND_LIBS) $(WLROOTS_LIBS) $(XKB_LIBS) $(MATH_LIBS)
|
|
|
|
# Applications
|
|
$(APPLICATIONS_DIR)/home-screen: $(APPLICATIONS_DIR)/home-screen.c
|
|
$(CC) $(CFLAGS) -o $@ $< $(WAYLAND_LIBS) $(CAIRO_LIBS) $(MATH_LIBS)
|
|
|
|
# Framework (placeholder for future components)
|
|
framework:
|
|
@echo "Building UI framework components..."
|
|
# TODO: Add framework components
|
|
|
|
# Assets
|
|
assets:
|
|
@echo "Processing UI assets..."
|
|
# TODO: Add asset processing
|
|
|
|
# Installation
|
|
install: all
|
|
@echo "Installing UI components..."
|
|
mkdir -p $(DESTDIR)/usr/bin
|
|
mkdir -p $(DESTDIR)/usr/share/bbeos/ui
|
|
cp $(COMPOSITOR_DIR)/q20-compositor $(DESTDIR)/usr/bin/
|
|
cp $(APPLICATIONS_DIR)/home-screen $(DESTDIR)/usr/bin/
|
|
cp -r $(ASSETS_DIR)/* $(DESTDIR)/usr/share/bbeos/ui/ 2>/dev/null || true
|
|
|
|
# Clean
|
|
clean:
|
|
rm -f $(COMPOSITOR_DIR)/q20-compositor
|
|
rm -f $(APPLICATIONS_DIR)/home-screen
|
|
rm -f $(FRAMEWORK_DIR)/*.o
|
|
rm -f $(FRAMEWORK_DIR)/*.a
|
|
|
|
# Development targets
|
|
dev: CFLAGS += -DDEBUG -g3
|
|
dev: all
|
|
|
|
# Release targets
|
|
release: CFLAGS += -DNDEBUG -O3
|
|
release: all
|
|
|
|
.PHONY: all compositor applications framework assets install clean dev release |