1
1
2
2
include Makefile.common
3
3
4
- RESOURCE_DIR = src/main/resources
5
-
6
4
.phony : all package native native-all deploy
7
5
8
- all : jni-header package
9
-
10
- deploy :
11
- mvn package deploy -DperformRelease=true
6
+ all : package
12
7
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 )
16
9
17
10
CCFLAGS: = -I$(JANSI_OUT ) $(CCFLAGS )
18
11
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
-
30
12
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 )
37
15
38
- $(JANSI_OUT ) /% .o : $( SRC ) /% .c
16
+ $(JANSI_OUT ) /% .o : src/main/native /% .c
39
17
@mkdir -p $(@D )
40
18
$(info running: $(CC ) $(CCFLAGS ) -c $< -o $@ )
41
19
$(CC ) $(CCFLAGS ) -c $< -o $@
42
20
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
44
22
@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 )
47
24
48
25
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 )
50
27
NATIVE_DLL: =$(NATIVE_DIR ) /$(LIBNAME )
51
28
52
29
# For cross-compilation, install docker. See also https://github.com/dockcross/dockcross
@@ -62,60 +39,44 @@ $(NATIVE_DLL): $(JANSI_OUT)/$(LIBNAME)
62
39
@mkdir -p $(NATIVE_TARGET_DIR )
63
40
cp $< $(NATIVE_TARGET_DIR ) /$(LIBNAME )
64
41
65
- DOCKER_RUN_OPTS =--rm
66
-
67
- linux-x86 : $(JANSI_UNPACKED ) jni-header
42
+ linux-x86 :
68
43
./docker/dockcross-linux-x86 bash -c ' make clean-native native OS_NAME=Linux OS_ARCH=x86'
69
44
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
72
47
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
75
50
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
78
53
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
81
56
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
84
59
85
- win-x86 : $( JANSI_UNPACKED ) jni-header
60
+ win-x86 :
86
61
./docker/dockcross-windows-static-x86 bash -c ' make clean-native native CROSS_PREFIX=i686-w64-mingw32.static- OS_NAME=Windows OS_ARCH=x86'
87
62
88
- win-x86_64 : $( JANSI_UNPACKED ) jni-header
63
+ win-x86_64 :
89
64
./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'
90
65
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
93
68
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
96
71
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
99
74
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
102
77
103
78
# sparcv9:
104
79
# $(MAKE) native OS_NAME=SunOS OS_ARCH=sparcv9
105
80
106
81
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* }
121
82
0 commit comments