Skip to content

Commit 71b5164

Browse files
committed
Clean a bit the native build part
1 parent 3ac28bb commit 71b5164

File tree

27 files changed

+196
-527
lines changed

27 files changed

+196
-527
lines changed

Makefile

+29-68
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,29 @@
11

22
include Makefile.common
33

4-
RESOURCE_DIR = src/main/resources
5-
64
.phony: all package native native-all deploy
75

8-
all: jni-header package
9-
10-
deploy:
11-
mvn package deploy -DperformRelease=true
6+
all: package
127

13-
MVN:=mvn
14-
SRC:=src/main/native
15-
JANSI_OUT:=$(TARGET)/native-$(OS_NAME)-$(OS_ARCH)
8+
JANSI_OUT:=target/native-$(OS_NAME)-$(OS_ARCH)
169

1710
CCFLAGS:= -I$(JANSI_OUT) $(CCFLAGS)
1811

19-
$(JANSI_ARCHIVE):
20-
# @mkdir -p $(@D)
21-
# curl -L --max-redirs 0 -f -o$@ https://www.JANSI.org/2020/$(JANSI_AMAL_PREFIX).zip || \
22-
# curl -L --max-redirs 0 -f -o$@ https://www.JANSI.org/$(JANSI_AMAL_PREFIX).zip || \
23-
# curl -L --max-redirs 0 -f -o$@ https://www.JANSI.org/$(JANSI_OLD_AMAL_PREFIX).zip
24-
25-
$(JANSI_UNPACKED): $(JANSI_ARCHIVE)
26-
# unzip -qo $< -d $(TARGET)/tmp.$(version)
27-
# (mv $(TARGET)/tmp.$(version)/$(JANSI_AMAL_PREFIX) $(TARGET) && rmdir $(TARGET)/tmp.$(version)) || mv $(TARGET)/tmp.$(version)/ $(TARGET)/$(JANSI_AMAL_PREFIX)
28-
# touch $@
29-
3012

31-
test:
32-
mvn test
33-
34-
clean: clean-native clean-java clean-tests
35-
36-
jni-header:
13+
clean-native:
14+
rm -rf $(JANSI_OUT)
3715

38-
$(JANSI_OUT)/%.o: $(SRC)/%.c
16+
$(JANSI_OUT)/%.o: src/main/native/%.c
3917
@mkdir -p $(@D)
4018
$(info running: $(CC) $(CCFLAGS) -c $< -o $@)
4119
$(CC) $(CCFLAGS) -c $< -o $@
4220

43-
$(JANSI_OUT)/$(LIBNAME): $(JANSI_OUT)/hawtjni.o $(JANSI_OUT)/jansi.o $(JANSI_OUT)/jansi_isatty.o $(JANSI_OUT)/jansi_structs.o $(JANSI_OUT)/jansi_ttyname.o
21+
$(JANSI_OUT)/$(LIBNAME): $(JANSI_OUT)/jansi.o $(JANSI_OUT)/jansi_isatty.o $(JANSI_OUT)/jansi_structs.o $(JANSI_OUT)/jansi_ttyname.o
4422
@mkdir -p $(@D)
45-
$(CC) $(CCFLAGS) -o $@ $(JANSI_OUT)/hawtjni.o $(JANSI_OUT)/jansi.o $(JANSI_OUT)/jansi_isatty.o $(JANSI_OUT)/jansi_structs.o $(JANSI_OUT)/jansi_ttyname.o $(LINKFLAGS)
46-
$(STRIP) $@
23+
$(CC) $(CCFLAGS) -o $@ $(JANSI_OUT)/jansi.o $(JANSI_OUT)/jansi_isatty.o $(JANSI_OUT)/jansi_structs.o $(JANSI_OUT)/jansi_ttyname.o $(LINKFLAGS)
4724

4825
NATIVE_DIR=src/main/resources/org/fusesource/jansi/internal/native/$(OS_NAME)/$(OS_ARCH)
49-
NATIVE_TARGET_DIR:=$(TARGET)/classes/org/fusesource/jansi/internal/native/$(OS_NAME)/$(OS_ARCH)
26+
NATIVE_TARGET_DIR:=target/classes/org/fusesource/jansi/internal/native/$(OS_NAME)/$(OS_ARCH)
5027
NATIVE_DLL:=$(NATIVE_DIR)/$(LIBNAME)
5128

5229
# For cross-compilation, install docker. See also https://github.com/dockcross/dockcross
@@ -62,60 +39,44 @@ $(NATIVE_DLL): $(JANSI_OUT)/$(LIBNAME)
6239
@mkdir -p $(NATIVE_TARGET_DIR)
6340
cp $< $(NATIVE_TARGET_DIR)/$(LIBNAME)
6441

65-
DOCKER_RUN_OPTS=--rm
66-
67-
linux-x86: $(JANSI_UNPACKED) jni-header
42+
linux-x86:
6843
./docker/dockcross-linux-x86 bash -c 'make clean-native native OS_NAME=Linux OS_ARCH=x86'
6944

70-
linux-x86_64: $(JANSI_UNPACKED) jni-header
71-
docker run -it $(DOCKER_RUN_OPTS) -v $$PWD:/workdir -e CROSS_TRIPLE=x86_64-linux-gnu multiarch/crossbuild make clean-native native OS_NAME=Linux OS_ARCH=x86_64
45+
linux-x86_64:
46+
docker run -it --rm -v $$PWD:/workdir -e CROSS_TRIPLE=x86_64-linux-gnu multiarch/crossbuild make clean-native native OS_NAME=Linux OS_ARCH=x86_64
7247

73-
linux-arm: $(JANSI_UNPACKED) jni-header
74-
docker run -it $(DOCKER_RUN_OPTS) -v $$PWD:/workdir -e CROSS_TRIPLE=arm-linux-gnueabi multiarch/crossbuild make clean-native native OS_NAME=Linux OS_ARCH=arm
48+
linux-arm:
49+
docker run -it --rm -v $$PWD:/workdir -e CROSS_TRIPLE=arm-linux-gnueabi multiarch/crossbuild make clean-native native OS_NAME=Linux OS_ARCH=arm
7550

76-
linux-armv7: $(JANSI_UNPACKED) jni-header
77-
docker run -it $(DOCKER_RUN_OPTS) -v $$PWD:/workdir -e CROSS_TRIPLE=arm-linux-gnueabihf multiarch/crossbuild make clean-native native OS_NAME=Linux OS_ARCH=armv7
51+
linux-armv7:
52+
docker run -it --rm -v $$PWD:/workdir -e CROSS_TRIPLE=arm-linux-gnueabihf multiarch/crossbuild make clean-native native OS_NAME=Linux OS_ARCH=armv7
7853

79-
linux-arm64: $(JANSI_UNPACKED) jni-header
80-
docker run -it $(DOCKER_RUN_OPTS) -v $$PWD:/workdir -e CROSS_TRIPLE=aarch64-linux-gnu multiarch/crossbuild make clean-native native OS_NAME=Linux OS_ARCH=arm64
54+
linux-arm64:
55+
docker run -it --rm -v $$PWD:/workdir -e CROSS_TRIPLE=aarch64-linux-gnu multiarch/crossbuild make clean-native native OS_NAME=Linux OS_ARCH=arm64
8156

82-
linux-ppc64: $(JANSI_UNPACKED) jni-header
83-
docker run -it $(DOCKER_RUN_OPTS) -v $$PWD:/workdir -e CROSS_TRIPLE=powerpc64le-linux-gnu multiarch/crossbuild make clean-native native OS_NAME=Linux OS_ARCH=ppc64
57+
linux-ppc64:
58+
docker run -it --rm -v $$PWD:/workdir -e CROSS_TRIPLE=powerpc64le-linux-gnu multiarch/crossbuild make clean-native native OS_NAME=Linux OS_ARCH=ppc64
8459

85-
win-x86: $(JANSI_UNPACKED) jni-header
60+
win-x86:
8661
./docker/dockcross-windows-static-x86 bash -c 'make clean-native native CROSS_PREFIX=i686-w64-mingw32.static- OS_NAME=Windows OS_ARCH=x86'
8762

88-
win-x86_64: $(JANSI_UNPACKED) jni-header
63+
win-x86_64:
8964
./docker/dockcross-windows-static-x64 bash -c 'make clean-native native CROSS_PREFIX=x86_64-w64-mingw32.static- OS_NAME=Windows OS_ARCH=x86_64'
9065

91-
mac-x86: $(JANSI_UNPACKED) jni-header
92-
docker run -it $(DOCKER_RUN_OPTS) -v $$PWD:/workdir -e CROSS_TRIPLE=i386-apple-darwin multiarch/crossbuild make clean-native native OS_NAME=Mac OS_ARCH=x86
66+
mac-x86:
67+
docker run -it --rm -v $$PWD:/workdir -e CROSS_TRIPLE=i386-apple-darwin multiarch/crossbuild make clean-native native OS_NAME=Mac OS_ARCH=x86
9368

94-
mac-x86_64: $(JANSI_UNPACKED) jni-header
95-
docker run -it $(DOCKER_RUN_OPTS) -v $$PWD:/workdir -e CROSS_TRIPLE=x86_64-apple-darwin multiarch/crossbuild make clean-native native OS_NAME=Mac OS_ARCH=x86_64
69+
mac-x86_64:
70+
docker run -it --rm -v $$PWD:/workdir -e CROSS_TRIPLE=x86_64-apple-darwin multiarch/crossbuild make clean-native native OS_NAME=Mac OS_ARCH=x86_64
9671

97-
freebsd-x86: $(JANSI_UNPACKED) jni-header
98-
docker run -it $(DOCKER_RUN_OPTS) -v $$PWD:/build empterdose/freebsd-cross-build:9.3 make -C /build clean-native native CROSS_PREFIX=i386-freebsd9- OS_NAME=FreeBSD OS_ARCH=x86
72+
freebsd-x86:
73+
docker run -it --rm -v $$PWD:/build empterdose/freebsd-cross-build:9.3 make -C /build clean-native native CROSS_PREFIX=i386-freebsd9- OS_NAME=FreeBSD OS_ARCH=x86
9974

100-
freebsd-x86_64: $(JANSI_UNPACKED) jni-header
101-
docker run -it $(DOCKER_RUN_OPTS) -v $$PWD:/build empterdose/freebsd-cross-build:9.3 make -C /build clean-native native CROSS_PREFIX=x86_64-freebsd9- OS_NAME=FreeBSD OS_ARCH=x86_64
75+
freebsd-x86_64:
76+
docker run -it --rm -v $$PWD:/build empterdose/freebsd-cross-build:9.3 make -C /build clean-native native CROSS_PREFIX=x86_64-freebsd9- OS_NAME=FreeBSD OS_ARCH=x86_64
10277

10378
#sparcv9:
10479
# $(MAKE) native OS_NAME=SunOS OS_ARCH=sparcv9
10580

10681

107-
package: native-all
108-
rm -rf target/dependency-maven-plugin-markers
109-
$(MVN) package
110-
111-
clean-native:
112-
rm -rf $(JANSI_OUT)
113-
114-
clean-java:
115-
rm -rf $(TARGET)/*classes
116-
rm -rf $(TARGET)/common-lib/*
117-
rm -rf $(TARGET)/JANSI-jdbc-*jar
118-
119-
clean-tests:
120-
rm -rf $(TARGET)/{surefire*,testdb.jar*}
12182

Makefile.common

-50
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,3 @@
1-
ifndef JAVA_HOME
2-
$(warning Set JAVA_HOME environment variable)
3-
endif
4-
5-
JAVA := "$$JAVA_HOME/bin/java"
6-
JAVAC := "$$JAVA_HOME/bin/javac"
7-
JAVAH := "$$JAVA_HOME/bin/javah"
8-
9-
TARGET := target
10-
11-
# building OSInfo.java
12-
#$(info compiling OSInfo.java)
13-
#$(shell mkdir -p target/lib)
14-
#$(shell $(JAVAC) lib/OSInfo.java -d target/lib)
15-
16-
#ifndef OS_NAME
17-
#OS_NAME := $(shell $(JAVA) -cp target/lib org.fusesource.jansi.OSInfo --os)
18-
#endif
19-
#ifndef OS_ARCH
20-
#OS_ARCH := $(shell $(JAVA) -cp target/lib org.fusesource.jansi.OSInfo --arch)
21-
#endif
22-
23-
# Windows uses different path separators
24-
ifeq ($(OS_NAME),Windows)
25-
sep := ;
26-
else
27-
sep := :
28-
endif
29-
30-
jansi := jansi-native-$(version)
31-
32-
ifdef JAVA_HOME
33-
jni_h := $(shell find -L "$(JAVA_HOME)" -name jni.h)
34-
ifneq ($(jni_h),)
35-
jni_include := $(shell dirname "$(jni_h)")
36-
endif
37-
38-
jni_md := $(shell find -L "$(JAVA_HOME)" -name jni_md.h)
39-
ifneq ($(jni_md),)
40-
jni_md_include := $(shell dirname "$(jni_md)")
41-
endif
42-
endif
43-
441
# os=Default is meant to be generic unix/linux
452

463
known_targets := Linux-x86 Linux-x86_64 Linux-arm Linux-armv6 Linux-armv7 Linux-android-arm Linux-ppc64 Mac-x86 Mac-x86_64 DragonFly-x86_64 FreeBSD-x86_64 OpenBSD-x86_64 Windows-x86 Windows-x86_64 SunOS-sparcv9 HPUX-ia64_32
@@ -190,10 +147,3 @@ CCFLAGS := $($(target)_CCFLAGS)
190147
LINKFLAGS := $($(target)_LINKFLAGS)
191148
LIBNAME := $($(target)_LIBNAME)
192149
CCFLAGS := $(CCFLAGS)
193-
ifneq ($(jni_include),)
194-
CCFLAGS := $(CCFLAGS) -I"$(jni_include)"
195-
endif
196-
ifneq ($(jni_md_include),)
197-
CCFLAGS := $(CCFLAGS) -I"$(jni_md_include)"
198-
endif
199-
$(info CCFLAGS=$(CCFLAGS))

src/main/native/hawtjni.c

-32
This file was deleted.

src/main/native/hawtjni.h

-136
This file was deleted.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)