49 lines
1.1 KiB
Makefile
49 lines
1.1 KiB
Makefile
# standard amuse configuration include
|
|
# config.mk will be made after ./configure has run
|
|
AMUSE_DIR?=../../../..
|
|
-include $(AMUSE_DIR)/config.mk
|
|
GPUARCH ?= 60
|
|
CUDAFLAGS += -arch=sm_$(GPUARCH)
|
|
######### ugly!!!! should be in the amuse base make file
|
|
|
|
|
|
MPICXX ?= mpicxx
|
|
|
|
CFLAGS += -Wall -g
|
|
CXXFLAGS += $(CFLAGS)
|
|
LDFLAGS += -lm $(MUSE_LD_FLAGS)
|
|
|
|
OBJS = interface.o
|
|
|
|
CODELIB = src/libetics.a
|
|
|
|
CODE_GENERATOR = $(AMUSE_DIR)/build.py
|
|
|
|
all: etics_worker
|
|
|
|
clean:
|
|
$(RM) *.so *.o *.pyc worker_code.cc worker_code.h
|
|
$(RM) *~ etics_worker worker_code.cc
|
|
make -C src clean
|
|
|
|
$(CODELIB):
|
|
make -C src libetics.a
|
|
|
|
worker_code.cc: interface.py
|
|
$(CODE_GENERATOR) --type=c interface.py EticsInterface -o $@
|
|
|
|
worker_code.h: interface.py
|
|
$(CODE_GENERATOR) --type=H interface.py EticsInterface -o $@
|
|
|
|
etics_worker: worker_code.cc worker_code.h $(CODELIB) $(OBJS)
|
|
$(MPICXX) $(CXXFLAGS) -L/usr/local/cuda/lib64 $< $(OBJS) $(CODELIB) -o $@ -lcudart
|
|
echo the above compilation directive is not nice
|
|
|
|
.SUFFIXES: .cu .o
|
|
|
|
.cu.o: $<
|
|
$(NVCC) -Xcompiler="$(CXXFLAGS)" -c -o $@ $<
|
|
|
|
|
|
# .cc.o: $<
|
|
# $(CXX) $(CXXFLAGS) -c -o $@ $<
|