Skip to content

Commit 801fcbb

Browse files
committed
Correct makefile for linux
1 parent d2dbd7b commit 801fcbb

File tree

3 files changed

+23
-8
lines changed

3 files changed

+23
-8
lines changed

Makefile

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,23 +15,38 @@
1515
.PHONY: run clean all
1616

1717
ARCH := $(shell arch)
18+
UNAME := $(shell uname)
19+
20+
ifeq ($(UNAME), Linux)
21+
ifeq ($(ARCH), 'i386')
22+
ARCH_SUBDIR := x86_64
23+
else
24+
ARCH_SUBDIR := aarch64
25+
endif
26+
BUILD_DIR := .build/$(ARCH_SUBDIR)-unknown-linux-gnu
27+
LIB_SUFFIX := so
28+
endif
29+
30+
ifeq ($(UNAME), Darwin)
1831
ifeq ($(ARCH), 'i386')
1932
ARCH_SUBDIR := x86_64
2033
else
2134
ARCH_SUBDIR := arm64
2235
endif
36+
BUILD_DIR := .build/$(ARCH_SUBDIR)-apple-macosx
37+
LIB_SUFFIX := dylib
38+
endif
2339

24-
BUILD_DIR=".build/$(ARCH_SUBDIR)-apple-macosx"
2540

2641
all: generate-all
2742

28-
$(BUILD_DIR)/debug/libJavaKit.dylib $(BUILD_DIR)/debug/libJavaKitExample.dylib $(BUILD_DIR)/debug/Java2Swift:
43+
$(BUILD_DIR)/debug/libJavaKit.$(LIB_SUFFIX) $(BUILD_DIR)/debug/libJavaKitExample.$(LIB_SUFFIX) $(BUILD_DIR)/debug/Java2Swift:
2944
swift build
3045

3146
./JavaSwiftKitDemo/build/classes/java/main/com/example/swift/HelloSubclass.class: JavaSwiftKitDemo/src/main/java/com/example/swift
3247
./gradlew build
3348

34-
run: $(BUILD_DIR)/debug/libJavaKit.dylib $(BUILD_DIR)/debug/libJavaKitExample.dylib JavaSwiftKitDemo/src/main/java/com/example/swift
49+
run: $(BUILD_DIR)/debug/libJavaKit.$(LIB_SUFFIX) $(BUILD_DIR)/debug/libJavaKitExample.$(LIB_SUFFIX) JavaSwiftKitDemo/src/main/java/com/example/swift
3550
java -cp JavaSwiftKitDemo/build/classes/java/main -Djava.library.path=$(BUILD_DIR)/debug/ com.example.swift.HelloSwift
3651

3752
Java2Swift: $(BUILD_DIR)/debug/Java2Swift
@@ -82,7 +97,7 @@ endef
8297
jextract-swift: generate-JExtract-interface-files
8398
swift build
8499

85-
generate-JExtract-interface-files: $(BUILD_DIR)/debug/libJavaKit.dylib
100+
generate-JExtract-interface-files: $(BUILD_DIR)/debug/libJavaKit.$(LIB_SUFFIX)
86101
echo "Generate .swiftinterface files..."
87102
@$(call make_swiftinterface, "JavaKitExample", "MySwiftLibrary")
88103
@$(call make_swiftinterface, "JavaKitExample", "SwiftKit")

Package.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,11 @@ let javaHome = findJavaHome()
3232

3333
let javaIncludePath = "\(javaHome)/include"
3434
#if os(Linux)
35-
let javaPlatformIncludePath = "\(javaIncludePath)/linux"
35+
let javaPlatformIncludePath = "\(javaIncludePath)/linux"
3636
#elseif os(macOS)
37-
let javaPlatformIncludePath = "\(javaIncludePath)/darwin"
37+
let javaPlatformIncludePath = "\(javaIncludePath)/darwin"
3838
#else
39-
#error("Currently only macOS and Linux platforms are supported, this may change in the future.")
39+
#error("Currently only macOS and Linux platforms are supported, this may change in the future.")
4040
// TODO: Handle windows as well
4141
#endif
4242

docker/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,6 @@ ENV LANGUAGE=en_US.UTF-8
1717

1818
# JDK dependency
1919
COPY install_jdk.sh .
20-
RUN bash -x ./install_jdk.sh
20+
RUN bash -xc 'JDK_VENDOR=Corretto ./install_jdk.sh'
2121
ENV JAVA_HOME="/usr/lib/jvm/default-jdk"
2222
ENV PATH="$PATH:/usr/lib/jvm/default-jdk/bin"

0 commit comments

Comments
 (0)