-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathMakefile
More file actions
106 lines (83 loc) · 2.35 KB
/
Makefile
File metadata and controls
106 lines (83 loc) · 2.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
config ?= compileClasspath
ifdef module
mm = :${module}:
else
mm =
endif
C_SCRIPT_SRC = plugins/nf-cws/src/resources/nf-cws/getStatsAndResolveSymlinks.c
C_SCRIPT_AARCH64 = plugins/nf-cws/src/resources/nf-cws/getStatsAndResolveSymlinks_linux_aarch64
C_SCRIPT_X86_64 = plugins/nf-cws/src/resources/nf-cws/getStatsAndResolveSymlinks_linux_x86_64
C_SCRIPT_ALL_TARGETS = $(C_SCRIPT_X86_64) $(C_SCRIPT_AARCH64)
arch:=$(shell uname -m)
ifneq ($(arch),x86_64)
$(info ====================================================================================)
$(info This Makefile assumes to be run on an x86_64 build system. Found: $(arch))
$(info As an alternative you can adjust the Makefile or build $(C_SCRIPT_SRC) yourself for the following targets:)
$(info - target aarch64-linux-gnu: saved to $(C_SCRIPT_AARCH64))
$(info - target x86_64-linux-gnu: saved to $(C_SCRIPT_X86_64))
$(error Aborting)
endif
c_scripts: $(C_SCRIPT_ALL_TARGETS)
$(C_SCRIPT_AARCH64): $(C_SRIPT_SRC)
clang -static \
-target aarch64-linux-gnu \
--sysroot=/usr/aarch64-linux-gnu \
plugins/nf-cws/src/resources/nf-cws/getStatsAndResolveSymlinks.c \
-fuse-ld=lld \
-o $@
$(C_SCRIPT_X86_64): $(C_SCRIPT_SRC)
clang -static \
-target x86_64-linux-gnu \
plugins/nf-cws/src/resources/nf-cws/getStatsAndResolveSymlinks.c \
-fuse-ld=lld \
-o $@
clean:
rm -rf .nextflow*
rm -rf work
rm -rf build
rm -rf plugins/*/build
rm -f $(C_SCRIPT_ALL_TARGETS)
./gradlew clean
compile:
./gradlew :nextflow:exportClasspath compileGroovy
@echo "DONE `date`"
check:
./gradlew check
#
# Show dependencies try `make deps config=runtime`, `make deps config=google`
#
deps:
./gradlew -q ${mm}dependencies --configuration ${config}
deps-all:
./gradlew -q dependencyInsight --configuration ${config} --dependency ${module}
#
# Refresh SNAPSHOTs dependencies
#
refresh:
./gradlew --refresh-dependencies
#
# Run all tests or selected ones
#
test:
ifndef class
./gradlew ${mm}test
else
./gradlew ${mm}test --tests ${class}
endif
assemble:
./gradlew assemble
#
# generate build zips under build/plugins
# you can install the plugin copying manually these files to $HOME/.nextflow/plugins
#
buildPlugins: $(C_SCRIPT_ALL_TARGETS)
./gradlew copyPluginZip
#
# Upload JAR artifacts to Maven Central
#
upload:
./gradlew upload
upload-plugins:
./gradlew plugins:upload
publish-index:
./gradlew plugins:publishIndex