1 | ## Makefile for integer programming |
---|
2 | SINGUNAME = @SINGUNAME@ |
---|
3 | ## |
---|
4 | ## various paths |
---|
5 | ## |
---|
6 | bindir = @bindir@ |
---|
7 | prefix = @prefix@ |
---|
8 | slibdir = ${prefix}/LIB |
---|
9 | install_bindir = ${install_prefix}/${SINGUNAME} |
---|
10 | libdir = @libdir@ |
---|
11 | |
---|
12 | |
---|
13 | ## |
---|
14 | ## various programs |
---|
15 | ## |
---|
16 | @SET_MAKE@ |
---|
17 | CXX = @CXX@ |
---|
18 | ## gcc won't work |
---|
19 | ifeq ($(CXX),gcc) |
---|
20 | CXX := c++ |
---|
21 | endif |
---|
22 | |
---|
23 | INSTALL = @INSTALL@ |
---|
24 | INSTALL_PROGRAM = @INSTALL_PROGRAM@ -s |
---|
25 | MKINSTALLDIRS = ../mkinstalldirs |
---|
26 | |
---|
27 | ## |
---|
28 | ## compiler and linker options |
---|
29 | ## |
---|
30 | CPPFLAGS = -I . @CPPFLAGS@ |
---|
31 | CXXFLAGS = @CXXFLAGS@ |
---|
32 | LDFLAGS = -L${libdir} @LDFLAGS@ -lgmp |
---|
33 | |
---|
34 | |
---|
35 | MAIN1 := solve_IP |
---|
36 | OBJECTS1:= $(MAIN1).o |
---|
37 | |
---|
38 | MAIN2 := change_cost |
---|
39 | OBJECTS2:= $(MAIN2).o |
---|
40 | |
---|
41 | MAIN3 := toric_ideal |
---|
42 | OBJECTS3:= $(MAIN3).o |
---|
43 | |
---|
44 | MAIN4 := gen_test |
---|
45 | OBJECTS4:= $(MAIN4).o |
---|
46 | |
---|
47 | LLL := LLL |
---|
48 | OBJECTS_LLL:= LLL_lattice_to_send.o |
---|
49 | |
---|
50 | %.o: %.cc |
---|
51 | $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $< -o $@ |
---|
52 | |
---|
53 | all: $(MAIN1) $(MAIN2) $(MAIN3) $(MAIN4) $(LLL) |
---|
54 | |
---|
55 | install: $(MAIN1) $(MAIN2) $(MAIN3) $(MAIN4) $(LLL) |
---|
56 | ${MKINSTALLDIRS} ${bindir} |
---|
57 | ${INSTALL_PROGRAM} $(MAIN1) ${bindir} |
---|
58 | ${INSTALL_PROGRAM} $(MAIN2) ${bindir} |
---|
59 | ${INSTALL_PROGRAM} $(MAIN3) ${bindir} |
---|
60 | ${INSTALL_PROGRAM} $(MAIN4) ${bindir} |
---|
61 | ${INSTALL_PROGRAM} $(LLL) ${bindir} |
---|
62 | |
---|
63 | install-bindist: $(MAIN1) $(MAIN2) $(MAIN3) $(MAIN4) |
---|
64 | ${MKINSTALLDIRS} ${install_bindir} |
---|
65 | ${INSTALL_PROGRAM} -s $(MAIN1) ${install_bindir} |
---|
66 | ${INSTALL_PROGRAM} -s $(MAIN2) ${install_bindir} |
---|
67 | ${INSTALL_PROGRAM} -s $(MAIN3) ${install_bindir} |
---|
68 | ${INSTALL_PROGRAM} -s $(MAIN4) ${install_bindir} |
---|
69 | ${INSTALL_PROGRAM} -s $(LLL) ${install_bindir} |
---|
70 | |
---|
71 | # compatibility |
---|
72 | |
---|
73 | install-bindist-plural: install-bindist |
---|
74 | |
---|
75 | clean: |
---|
76 | rm -f *.o *~ |
---|
77 | |
---|
78 | distclean: clean |
---|
79 | rm -f $(MAIN1) $(MAIN2) $(MAIN3) $(MAIN4) |
---|
80 | -rm -f ${bindir}/$(MAIN1) |
---|
81 | -rm -f ${bindir}/$(MAIN2) |
---|
82 | -rm -f ${bindir}/$(MAIN3) |
---|
83 | -rm -f ${bindir}/$(MAIN4) |
---|
84 | -rm -f ${bindir}/$(LLL) |
---|
85 | |
---|
86 | $(MAIN1): term_ordering.o binomial.o list.o BigInt.o LLL.o matrix.o \ |
---|
87 | ideal.o \ |
---|
88 | Buchberger.o ideal_stuff.o IP_algorithms.o testdata.o \ |
---|
89 | $(OBJECTS1) |
---|
90 | $(CXX) $^ -o $@ $(LDFLAGS) |
---|
91 | |
---|
92 | $(MAIN2): term_ordering.o binomial.o list.o BigInt.o LLL.o matrix.o \ |
---|
93 | ideal.o \ |
---|
94 | Buchberger.o ideal_stuff.o IP_algorithms.o testdata.o \ |
---|
95 | $(OBJECTS2) |
---|
96 | $(CXX) $^ -o $@ $(LDFLAGS) |
---|
97 | |
---|
98 | $(MAIN3): term_ordering.o binomial.o list.o BigInt.o LLL.o matrix.o \ |
---|
99 | ideal.o \ |
---|
100 | Buchberger.o ideal_stuff.o IP_algorithms.o testdata.o \ |
---|
101 | $(OBJECTS3) |
---|
102 | $(CXX) $^ -o $@ $(LDFLAGS) |
---|
103 | |
---|
104 | $(MAIN4): term_ordering.o binomial.o list.o BigInt.o LLL.o matrix.o \ |
---|
105 | ideal.o \ |
---|
106 | Buchberger.o ideal_stuff.o IP_algorithms.o testdata.o \ |
---|
107 | $(OBJECTS4) |
---|
108 | $(CXX) $^ -o $@ $(LDFLAGS) |
---|
109 | |
---|
110 | $(LLL): $(OBJECTS_LLL) |
---|
111 | $(CXX) $^ -o $@ $(LDFLAGS) |
---|
112 | |
---|
113 | Makefile: Makefile.in |
---|
114 | cd ..; CONFIG_FILES="IntegerProgramming/Makefile" CONFIG_HEADERS= ./config.status |
---|
115 | |
---|