merged
This commit is contained in:
parent
18a14d204c
commit
717568b6d0
30 changed files with 4093 additions and 209 deletions
68
simulator_SIC_XE/Makefile
Normal file
68
simulator_SIC_XE/Makefile
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
# Simple Makefile wrapper to configure, build and run the CMake project.
|
||||
# Usage:
|
||||
# make # configure + build with all cores
|
||||
# make build # configure + build with all cores
|
||||
# make all # clean + configure + build + run
|
||||
# make run # just run the executable (no build)
|
||||
# make clean # run CMake clean (or remove build files)
|
||||
# make distclean # remove build dir and generated targets
|
||||
|
||||
CMAKE ?= cmake
|
||||
BUILD_DIR := build
|
||||
CMAKE_BUILD_TYPE ?= Release
|
||||
TARGET := target/bin/simulator_exec
|
||||
GUI_TARGET := target/bin/simulator_qt
|
||||
NPROC := $(shell nproc)
|
||||
|
||||
.PHONY: all configure build run clean distclean
|
||||
|
||||
# Default target: just build
|
||||
default: build
|
||||
|
||||
# make all: clean, build, then run
|
||||
all: clean build run
|
||||
|
||||
configure:
|
||||
@echo "Configuring (build dir: $(BUILD_DIR), type: $(CMAKE_BUILD_TYPE))"
|
||||
$(CMAKE) -S . -B $(BUILD_DIR) -DCMAKE_BUILD_TYPE=$(CMAKE_BUILD_TYPE)
|
||||
|
||||
build: configure
|
||||
@echo "Building with $(NPROC) cores..."
|
||||
$(CMAKE) --build $(BUILD_DIR) -j$(NPROC)
|
||||
|
||||
# make run: just launch the executable (no build)
|
||||
run:
|
||||
@echo "Running primary target..."
|
||||
# Prefer GUI if available, otherwise fall back to console executable
|
||||
@if [ -x "$(GUI_TARGET)" ]; then \
|
||||
echo "Launching GUI: $(GUI_TARGET)"; \
|
||||
./$(GUI_TARGET); \
|
||||
elif [ -x "$(TARGET)" ]; then \
|
||||
./$(TARGET); \
|
||||
else \
|
||||
echo "No runnable target found (tried $(GUI_TARGET) and $(TARGET))."; exit 1; \
|
||||
fi
|
||||
|
||||
.PHONY: run-gui
|
||||
run-gui: build
|
||||
@echo "Running GUI target ($(GUI_TARGET))"
|
||||
@if [ -x "$(GUI_TARGET)" ]; then \
|
||||
echo "Starting GUI..."; ./$(GUI_TARGET) -platform xcb; \
|
||||
else \
|
||||
echo "GUI executable not found: $(GUI_TARGET)"; exit 1; \
|
||||
fi
|
||||
|
||||
.PHONY: build-gui
|
||||
build-gui: configure
|
||||
@echo "Building GUI (and core)..."
|
||||
$(CMAKE) --build $(BUILD_DIR) -j$(shell nproc) --target simulator_qt || true
|
||||
|
||||
clean:
|
||||
@echo "Cleaning build (CMake clean)..."
|
||||
-$(CMAKE) --build $(BUILD_DIR) --target clean || true
|
||||
@echo "Removing target directory..."
|
||||
-rm -rf target/
|
||||
|
||||
distclean:
|
||||
@echo "Removing build artifacts and generated files..."
|
||||
-rm -rf $(BUILD_DIR) CMakeFiles CMakeCache.txt cmake_install.cmake target/
|
||||
Loading…
Add table
Add a link
Reference in a new issue