forked from SouthGreenPlatform/culebrONT
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
58 lines (54 loc) · 1.42 KB
/
Makefile
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
help:
@echo "available subcommands:"
@echo "\t build: use to build all sif from .def file"
@echo "\t install: use to autoconfigure .sif to CulebrONT cluster-config profile"
@echo "\t all: run build an install"
.PHONY=all
all:
make build
make install
@echo ""
@echo "Success!"
@echo "CulebrONT installed in ${TARGET_DIR}/bin/canu"
.PHONY=build
build:
ifneq ($(shell id -u), 0)
@echo "You must be root to perform this action.";
else
@echo "Build all singularity"
cd Containers; \
for def in `ls *.def`; do \
simg=$${def%%.def}.sif;\
if test -f $${simg}; then \
echo "Skip build $${simg} already exist !!"; \
else \
echo "Build $${simg} from def: $${def}";\
singularity build $${simg} $${def};\
fi; \
done
@echo "Build all conda"
for yaml in `ls ./envs/*.yaml`; do \
env_name=$${yaml%%.yaml};\
if test -d ./envs/$${env_name}; then \
echo "Skip build ./envs/$${env_name} already exist !!"; \
else \
echo "Build ./envs/$${env_name} from yaml: $${yaml}";\
conda env create -f $${yaml} -p ./envs/$${env_name};\
fi; \
done
endif
.PHONY=install
install:
@echo "Try to install";
@echo "Build all conda";
cd envs; \
for yaml in `ls *.yaml`; do \
env_name=$${yaml%%.yaml};\
if test -d $${env_name}; then \
echo "Skip build $${env_name} already exist !!"; \
else \
echo "Build $${env_name} from yaml: $${yaml}";\
conda env create -f $${yaml} -p $${env_name};\
echo "Build DONE";\
fi; \
done