-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmakefile
More file actions
63 lines (53 loc) · 3.56 KB
/
Copy pathmakefile
File metadata and controls
63 lines (53 loc) · 3.56 KB
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
63
##############################################################################
################################ makefile ####################################
##############################################################################
# #
# makefile of LagrangianDualSolver #
# #
# The makefile takes in input the -I directives for all the external #
# libraries needed by LagrangianDualSolver, i.e., core SMS++ and the #
# MILPSolver module (the latter is used only by PrimalProximalHeur to #
# warm-start the heuristic by solving the LP relaxation of f_Block). #
# #
# Note that, conversely, $(SMS++INC) is also assumed to include any #
# -I directive corresponding to external libraries needed by SMS++, at #
# least to the extent in which they are needed by the parts of SMS++ #
# used by LagrangianDualSolver. #
# #
# Input: $(CC) = compiler command #
# $(SW) = compiler options #
# $(SMS++INC) = the -I$( core SMS++ directory ) #
# $(SMS++OBJ) = the core SMS++ library #
# $(MILPSINC) = the -I$( MILPSolver include directory ) #
# $(LgDSLVSDR) = the directory where the source is #
# #
# Output: $(LgDSLVOBJ) = the final object(s) / library #
# $(LgDSLVH) = the .h files to include #
# $(LgDSLVINC) = the -I$( source directory ) #
# #
# Antonio Frangioni #
# Enrico Gorgone #
# Dipartimento di Informatica #
# Universita' di Pisa #
# #
##############################################################################
# macros to be exported - - - - - - - - - - - - - - - - - - - - - - - - - - -
LgDSLVOBJ = $(LgDSLVSDR)/obj/LagrangianDualSolver.o \
$(LgDSLVSDR)/obj/PrimalProximalHeur.o
LgDSLVINC = -I$(LgDSLVSDR)/include
LgDSLVH = $(LgDSLVSDR)/include/LagrangianDualSolver.h \
$(LgDSLVSDR)/include/PrimalProximalHeur.h
# clean - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
clean::
rm -f $(LgDSLVOBJ) $(LgDSLVSDR)/*~
# dependencies: every .o from its .cpp + every recursively included .h- - - -
$(LgDSLVSDR)/obj/LagrangianDualSolver.o: \
$(LgDSLVSDR)/src/LagrangianDualSolver.cpp \
$(LgDSLVSDR)/include/LagrangianDualSolver.h $(SMS++OBJ)
$(CC) -c $(LgDSLVSDR)/src/LagrangianDualSolver.cpp -o $@ \
$(LgDSLVINC) $(SMS++INC) $(SW)
$(LgDSLVSDR)/obj/PrimalProximalHeur.o: \
$(LgDSLVSDR)/src/PrimalProximalHeur.cpp $(LgDSLVH) $(SMS++OBJ)
$(CC) -c $(LgDSLVSDR)/src/PrimalProximalHeur.cpp -o $@ \
$(LgDSLVINC) $(SMS++INC) $(MILPSINC) $(SW)
########################## End of makefile ###################################