File: Makefile

package info (click to toggle)
promod3 3.4.2%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 966,596 kB
  • sloc: cpp: 55,820; python: 18,058; makefile: 85; sh: 51
file content (62 lines) | stat: -rw-r--r-- 1,337 bytes parent folder | download | duplicates (2)
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)