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
|
########
# SETUP
########
# path to OST and ProMod3 stage
OST_ROOT = <DEFINEME>/ost/build/stage
PROMOD3_ROOT = <DEFINEME>/ProMod3/build/stage
# sources to compile
SOURCES = test.cc
# target filename
TARGET = test
# choose C++ compiler
CC = g++
LD = $(CC)
# set extra flags
CFLAGS =
LDFLAGS =
########
# set include paths
INCLUDES = -I$(OST_ROOT)/include -I$(PROMOD3_ROOT)/include
# collect libraries
LIB_DIRS = -L$(OST_ROOT)/lib64 -L$(PROMOD3_ROOT)/lib64
LIBS = -lpromod3_core -lpromod3_loop -lpromod3_modelling -lpromod3_sidechain
LIBS += -lost_io -lost_mol -lost_seq -lost_seq_alg -lost_mol_alg -lost_conop
LIBS += -lost_base -lost_geom -lost_mol_mm
# add rpath to find shared objects (req. gcc)
LDFLAGS += "-Wl,-rpath,$(PROMOD3_ROOT)/lib64:$(OST_ROOT)/lib64"
# setup compilation
OBJECTS := $(SOURCES:%.cc=%.o)
.DEFAULT: all;
# Default target is to compile everything
all: $(TARGET)
# run it
run: $(TARGET)
@echo "------ RUNNING $(TARGET) ------"
@./$(TARGET)
# final linking
$(TARGET): $(OBJECTS)
@echo "PRODUCING $@"
@#echo "SOURCES = $(SOURCES)"
@#echo "OBJECTS = $(OBJECTS)"
@#echo "---------------------"
@$(LD) $(OBJECTS) -o $@ $(LIB_DIRS) $(LDFLAGS) $(LIBS)
@#echo "---------------------"
%.o: %.cc
@echo "PRODUCING $@"
@$(CC) ${INCLUDES} $(CFLAGS) -c -o $@ $<
clean:
rm -f $(TARGET)
rm -f $(OBJECTS)
|