-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
75 lines (66 loc) · 2.75 KB
/
Copy pathMakefile
File metadata and controls
75 lines (66 loc) · 2.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# Makefile - BDH Pure Linux CLI Multiplexer Engine (Universal Edition)
# --- FIX: Termux (clang) மற்றும் Arch Linux (gcc) இரண்டிற்கும் பொருந்த CC ?= gcc ---
CC ?= gcc
CFLAGS = -Iinclude -Isrc -D_GNU_SOURCE -Wall -Wextra
LDFLAGS = -lutil
PREFIX ?= /usr/local
# --- BDH Linux IDE Submodule Directory ---
IDE_DIR = src/bdh-ide
# --- 1. BDH Multiplexer Engine Sources (bdh-engine) ---
ENGINE_SRCS = src/main.c \
src/engine/pty.c \
src/engine/screen.c \
src/engine/session.c \
src/engine/mouse.c \
src/ui/panes.c \
src/ui/wm.c \
src/ui/tabs.c \
src/ui/statusbar.c \
src/engine/parser.c \
src/engine/clipboard.c \
src/engine/scanner.c \
src/engine/cursor.c \
src/engine/input.c \
src/engine/renderer.c \
src/engine/terminal.c
# --- Main Targets ---
all: bdh-engine build-ide
# 1. Build BDH Multiplexer Engine:
bdh-engine: $(ENGINE_SRCS)
$(CC) $(ENGINE_SRCS) $(CFLAGS) $(LDFLAGS) -o bdh-engine
@echo "BDH Multiplexer Engine (bdh-engine) built successfully! 🚀"
# 2. Build BDH Linux IDE (Recursive Make via Submodule):
build-ide:
@if [ -d "$(IDE_DIR)" ] && [ -f "$(IDE_DIR)/Makefile" ]; then \
echo "Building BDH Linux IDE via Submodule... 🛠️"; \
$(MAKE) -C $(IDE_DIR); \
else \
echo "⚠️ BDH Linux IDE folder not found or empty! Did you run 'git submodule add'?"; \
fi
# --- Universal System Install Target (Global CLI Commands) ---
install: all
install -Dm755 bdh-engine $(PREFIX)/bin/bdh-engine
@if [ -d "$(IDE_DIR)" ] && [ -f "$(IDE_DIR)/Makefile" ]; then \
echo "Installing BDH Linux IDE... 📦"; \
$(MAKE) -C $(IDE_DIR) install PREFIX=$(PREFIX); \
fi
@echo "=================================================================="
@echo "🔥 BDH Engine & IDE installed globally to $(PREFIX)/bin/ !"
@echo "👉 Type 'bdh-engine' to launch Multiplexer Engine!"
@echo "👉 Type 'bdh-linux-ide' (or related cmds) to launch the IDE tools!"
@echo "=================================================================="
# --- Universal System Uninstall Target ---
uninstall:
rm -f $(PREFIX)/bin/bdh-engine
@if [ -d "$(IDE_DIR)" ] && [ -f "$(IDE_DIR)/Makefile" ]; then \
$(MAKE) -C $(IDE_DIR) uninstall PREFIX=$(PREFIX); \
fi
@echo "BDH Engine and IDE uninstalled from system successfully!"
clean:
rm -f bdh-engine *.o
@if [ -d "$(IDE_DIR)" ] && [ -f "$(IDE_DIR)/Makefile" ]; then \
echo "Cleaning BDH Linux IDE..."; \
$(MAKE) -C $(IDE_DIR) clean; \
fi
@echo "Cleaned old builds successfully!"
.PHONY: all build-ide clean install uninstall