Skip to content

Commit 151578a

Browse files
authored
Merge pull request #1172 from LourensVeen/issue-1153-additional-vader-workers
Build all the vader workers, not just the default one
2 parents 36bcd52 + c055370 commit 151578a

4 files changed

Lines changed: 27 additions & 21 deletions

File tree

src/amuse_vader/Makefile

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,14 @@ src: vader.tar.gz
1919
mkdir -p src
2020
tar -xvf $< -C src
2121
cp -r src/MJCWilhelm-vader-$(VERSION)/vader_csrc/* src
22-
cp Makefile_vader src/Makefile
22+
rm -f src/Makefile
23+
ln -s ../Makefile_vader src/Makefile
2324

2425

2526
# Building the code into a static library
27+
PROBS := none cmzdisk cmzdisk2 gidisk pedisk ring ringrad selfsim
28+
USERFUNCS := $(patsubst %,src/prob/userFunc_%.o,$(PROBS))
29+
2630
DEPFLAGS += $(GSL_FLAGS)
2731

2832
CFLAGS += $(DEPFLAGS)
@@ -35,11 +39,14 @@ LDLIBS += $(GSL_LIBS)
3539
CODELIB = src/libvader.a
3640

3741
.PHONY: $(CODELIB)
38-
$(CODELIB): | src
39-
$(MAKE) -C src -j $(CPU_COUNT) all MPICC='$(MPICC)' CXXFLAGS='$(CFLAGS)'
42+
$(CODELIB) $(USERFUNCS) &: | src
43+
$(MAKE) -C src -j $(CPU_COUNT) all MPICC='$(MPICC)' CXXFLAGS='$(CFLAGS)' PROBS='$(PROBS)'
4044

4145

4246
# Building the workers
47+
48+
WORKERS := $(patsubst %,vader_%_worker,$(PROBS))
49+
4350
vader_worker.h: interface.py
4451
amusifier --type=H interface.py VaderInterface -o $@
4552

@@ -52,12 +59,12 @@ interface.o: interface.cc $(CODELIB)
5259
vader_worker.o: vader_worker.cc vader_worker.h
5360
$(MPICXX) -c -o $@ $(CFLAGS) $<
5461

55-
vader_worker: vader_worker.o interface.o $(CODELIB)
62+
vader_%_worker: vader_worker.o interface.o $(CODELIB) src/prob/userFunc_%.o
5663
$(MPICXX) -o $@ $(LDFLAGS) $^ $(LDLIBS)
5764

5865

5966
# Which packages contain which workers?
60-
amuse-vader_contains: vader_worker
67+
amuse-vader_contains: $(WORKERS)
6168

6269

6370
# Building and installing packages

src/amuse_vader/Makefile_vader

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,34 +7,33 @@ LDFLAGS += -lm $(MUSE_LD_FLAGS)
77
AA_M = 0
88
CXXFLAGS += -DAA_M=$(AA_M)
99

10-
CODELIB = libvader.a
10+
USERFUNCS := $(patsubst %,prob/userFunc_%.o,$(PROBS))
1111

12-
CODEOBJS = advanceBE.o advanceCN.o applyBC.o checkpoint.o driver.o getNextIterate.o init.o ppmExtrap.o rotCurveSpline.o testingMode.o userFunc.o vader.o
12+
CODELIB = libvader.a
1313

14-
AR = ar ruv
15-
RANLIB = ranlib
16-
RM = rm
14+
CODEOBJS = advanceBE.o advanceCN.o applyBC.o checkpoint.o driver.o getNextIterate.o init.o ppmExtrap.o rotCurveSpline.o testingMode.o vader.o
1715

18-
PROB = none
16+
AR ?= ar
17+
RANLIB ?= ranlib
18+
RM ?= rm
1919

20-
all: $(CODELIB)
20+
all: $(CODELIB) $(USERFUNCS)
2121

2222

2323
clean:
2424
$(RM) -f *.o *.a
2525

26-
userFunc.c: prob/userFunc_$(PROB).c
27-
cp $< $@
28-
2926
$(CODELIB): $(CODEOBJS)
30-
$(RM) -f userFunc.c
3127
$(RM) -f $@
32-
$(AR) $@ $(CODEOBJS)
28+
$(AR) ruv $@ $(CODEOBJS)
3329
$(RANLIB) $@
3430

3531

3632
.cc.o: $<
37-
$(MPICC) $(CXXFLAGS) -c -o $@ $<
33+
$(MPICC) $(CXXFLAGS) -c -o $@ $<
3834

3935
.c.o: $<
40-
$(MPICC) $(CXXFLAGS) -c -o $@ $<
36+
$(MPICC) $(CXXFLAGS) -c -o $@ $<
37+
38+
prob/%.o: prob/%.c
39+
$(MPICC) $(CXXFLAGS) -I. -c -o $@ $<

src/amuse_vader/interface.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class VaderInterface(CodeInterface,
1818

1919
def __init__(self, mode = 'none', **keyword_arguments):
2020
CodeInterface.__init__(self,
21-
name_of_the_worker="vader_worker",
21+
name_of_the_worker=f"vader_{mode}_worker",
2222
**keyword_arguments)
2323
LiteratureReferencesMixIn.__init__(self)
2424

src/amuse_vader/packages/amuse-vader/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ exclude = [
3535
"amuse_vader/src",
3636
"amuse_vader/tests"
3737
]
38-
artifacts = ["amuse_vader/vader_worker"]
38+
artifacts = ["amuse_vader/vader_*_worker"]
3939

4040
[tool.pytest.ini_options]
4141
pythonpath = ["amuse_vader/tests/"]

0 commit comments

Comments
 (0)