Skip to content

Commit 454bc07

Browse files
committed
Makefile: LNC mobile
1 parent 7594d55 commit 454bc07

File tree

2 files changed

+42
-0
lines changed

2 files changed

+42
-0
lines changed

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,9 @@
1515
# vendor/
1616

1717
wasm-client.wasm
18+
19+
# Mobile build output
20+
build/
21+
22+
# Misc
23+
*.DS_Store

Makefile

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,11 @@ GOFILES_NOVENDOR = $(shell find . -type f -name '*.go' -not -path "./vendor/*")
1919
GOLIST := go list $(PKG)/... | grep -v '/vendor/'
2020
XARGS := xargs -L 1
2121

22+
UNIT := $(GOLIST) | $(XARGS) env $(GOTEST) -tags="rpctest $(DEV_TAGS) $(LOG_TAGS)" $(TEST_FLAGS)
23+
UNIT_RACE := $(UNIT) -race
24+
2225
LDFLAGS := -s -w -buildid=
26+
LDFLAGS_MOBILE := -ldflags "$(call make_ldflags, ${tags}, -s -w)"
2327

2428
RM := rm -f
2529
CP := cp
@@ -28,6 +32,16 @@ XARGS := xargs -L 1
2832

2933
LINT = $(LINT_BIN) run -v --build-tags itest
3034

35+
PKG := github.com/lightninglabs/lightning-node-connect
36+
MOBILE_PKG := $(PKG)/mobile
37+
MOBILE_BUILD_DIR :=${GOPATH}/src/$(PKG)/build
38+
IOS_BUILD_DIR := $(MOBILE_BUILD_DIR)/ios
39+
IOS_BUILD := $(IOS_BUILD_DIR)/Lndmobile.xcframework
40+
ANDROID_BUILD_DIR := $(MOBILE_BUILD_DIR)/android
41+
ANDROID_BUILD := $(ANDROID_BUILD_DIR)/lnc-mobile.aar
42+
43+
GOMOBILE_BIN := $(GO_BIN)/gomobile
44+
3145
include make/testing_flags.mk
3246

3347
default: build
@@ -56,6 +70,28 @@ wasm:
5670
cd cmd/wasm-client; GOOS=js GOARCH=wasm go build -trimpath -ldflags="$(LDFLAGS)" -tags="appengine autopilotrpc chainrpc invoicesrpc neutrinorpc peersrpc signrpc wtclientrpc watchtowerrpc routerrpc walletrpc verrpc" -v -o wasm-client.wasm .
5771
$(CP) cmd/wasm-client/wasm-client.wasm example/wasm-client.wasm
5872

73+
apple:
74+
@$(call print, "Building iOS and macOS cxframework ($(IOS_BUILD)).")
75+
mkdir -p $(IOS_BUILD_DIR)
76+
$(GOMOBILE_BIN) bind -target=ios,iossimulator,macos -tags="mobile $(DEV_TAGS) $(RPC_TAGS)" $(LDFLAGS_MOBILE) -v -o $(IOS_BUILD) $(MOBILE_PKG)
77+
78+
ios:
79+
@$(call print, "Building iOS cxframework ($(IOS_BUILD)).")
80+
mkdir -p $(IOS_BUILD_DIR)
81+
$(GOMOBILE_BIN) bind -target=ios,iossimulator -tags="mobile $(DEV_TAGS) $(RPC_TAGS)" $(LDFLAGS_MOBILE) -v -o $(IOS_BUILD) $(MOBILE_PKG)
82+
83+
macos:
84+
@$(call print, "Building macOS cxframework ($(IOS_BUILD)).")
85+
mkdir -p $(IOS_BUILD_DIR)
86+
$(GOMOBILE_BIN) bind -target=macos -tags="mobile $(DEV_TAGS) $(RPC_TAGS)" $(LDFLAGS_MOBILE) -v -o $(IOS_BUILD) $(MOBILE_PKG)
87+
88+
android:
89+
@$(call print, "Building Android library ($(ANDROID_BUILD)).")
90+
mkdir -p $(ANDROID_BUILD_DIR)
91+
GOOS=js $(GOMOBILE_BIN) bind -target=android -tags="mobile $(DEV_TAGS) $(RPC_TAGS)" -androidapi 21 $(LDFLAGS_MOBILE) -v -o $(ANDROID_BUILD) $(MOBILE_PKG)
92+
93+
mobile: ios android
94+
5995
# =======
6096
# TESTING
6197
# =======

0 commit comments

Comments
 (0)