Skip to content

Commit 1a76fc0

Browse files
committed
Add Black Belt CLI build and Linux installation targets
1 parent b489f15 commit 1a76fc0

1 file changed

Lines changed: 35 additions & 0 deletions

File tree

bin/Makefile

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
CXX ?= g++
2+
CC ?= gcc
3+
CFLAGS ?= -O2 -Wall -Wextra -std=c11
4+
CXXFLAGS ?= -O2 -Wall -Wextra -std=c++17
5+
JAVAC ?= javac
6+
JAVA ?= java
7+
PREFIX ?= /bin
8+
9+
.PHONY: all c cpp java clean install install-engine
10+
11+
all: c cpp java
12+
13+
c: bin/blackbelt-c
14+
cpp: bin/blackbelt-cpp
15+
java: bin/BlackBeltCLI.class
16+
17+
bin/blackbelt-c: blackbelt-c.c
18+
$(CC) $(CFLAGS) -o $@ $<
19+
20+
bin/blackbelt-cpp: blackbelt.cpp
21+
$(CXX) $(CXXFLAGS) -o $@ $<
22+
23+
bin/BlackBeltCLI.class: BlackBeltCLI.java
24+
$(JAVAC) --release 21 -d . $<
25+
26+
install: all
27+
install -Dm755 bin/blackbelt-c $(DESTDIR)$(PREFIX)/blackbelt-c
28+
install -Dm755 bin/blackbelt-cpp $(DESTDIR)$(PREFIX)/blackbelt-cpp
29+
install -Dm755 bin/blackbelt-engine.sh $(DESTDIR)$(PREFIX)/blackbelt-engine.sh
30+
install -Dm644 bin/BlackBeltCLI.class $(DESTDIR)$(PREFIX)/BlackBeltCLI.class
31+
install -Dm644 bin/BlackBeltCLI.java $(DESTDIR)$(PREFIX)/BlackBeltCLI.java
32+
33+
clean:
34+
rm -f bin/blackbelt-c bin/blackbelt-cpp BlackBeltCLI.class
35+
rm -f BlackBeltCLI$$\{\$$\}.class

0 commit comments

Comments
 (0)