Statistiques
| Branche: | Révision :

meplib / cCode / Makefile @ master

Historique | Voir | Annoter | Télécharger (2,58 ko)

1 08aa5d9e Serge Torres
# This makefile is a very provisonal version that
2 08aa5d9e Serge Torres
# will be sperceeded by an autotools generated version.
3 08aa5d9e Serge Torres
#
4 08aa5d9e Serge Torres
# TODO Makefile.in
5 08aa5d9e Serge Torres
#
6 08aa5d9e Serge Torres
CXX       = g++
7 08aa5d9e Serge Torres
CC        = gcc
8 08aa5d9e Serge Torres
CFLAGS    = -Wall -g -static -DDEBUG -I /usr/local/include
9 08aa5d9e Serge Torres
CXXFLAGS  = -Wall -I ./arith_include -I /usr/local/include
10 08aa5d9e Serge Torres
LDLIB     = -L ./arith_lib  -lmpfr++ -lmpfr -lgmp -lm -lstdc++ #-Wl,--verbose
11 08aa5d9e Serge Torres
12 08aa5d9e Serge Torres
INCS      = polytope-project-types.h utils/utilities.h
13 08aa5d9e Serge Torres
OBJS      = polytopes.o \
14 08aa5d9e Serge Torres
            ./utils/utilities.o \
15 08aa5d9e Serge Torres
	    ./vectors/si/si-vector.o \
16 08aa5d9e Serge Torres
            ./vectors/mpz/mpz-vector.o \
17 08aa5d9e Serge Torres
            ./vectors/mpq/mpq-vector.o \
18 08aa5d9e Serge Torres
            ./vectors/mpfr/mpfr-vector.o \
19 08aa5d9e Serge Torres
            ./matrices/mpz/mpz-matrix.o \
20 08aa5d9e Serge Torres
            ./matrices/mpq/mpq-matrix.o \
21 08aa5d9e Serge Torres
            ./matrices/mpfr/mpfr-matrix.o \
22 08aa5d9e Serge Torres
            userFunc.o
23 08aa5d9e Serge Torres
SCRATCH_PRG := $(patsubst %.c,%,$(wildcard *.c))
24 08aa5d9e Serge Torres
SCRATCH_ALL := $(SCRATCH_PRG)
25 08aa5d9e Serge Torres
26 08aa5d9e Serge Torres
# ---------------------------------------------------------------------
27 08aa5d9e Serge Torres
28 08aa5d9e Serge Torres
all: utils \
29 08aa5d9e Serge Torres
     si-vector \
30 08aa5d9e Serge Torres
     mpz-vector \
31 08aa5d9e Serge Torres
     mpq-vector \
32 08aa5d9e Serge Torres
     mpfr-vector \
33 08aa5d9e Serge Torres
     mpz-matrix \
34 08aa5d9e Serge Torres
     mpq-matrix \
35 08aa5d9e Serge Torres
     mpfr-matrix \
36 08aa5d9e Serge Torres
     mkloops-with-w \
37 08aa5d9e Serge Torres
     generate-w-vector \
38 08aa5d9e Serge Torres
     generate-w-vector-01 \
39 08aa5d9e Serge Torres
     filter-solutions \
40 08aa5d9e Serge Torres
     check-solution \
41 08aa5d9e Serge Torres
     check-solution-multi
42 08aa5d9e Serge Torres
43 08aa5d9e Serge Torres
utils: utils/utilities.h \
44 08aa5d9e Serge Torres
       utils/utilities.c \
45 08aa5d9e Serge Torres
       utils/std-exit-errors.h 
46 08aa5d9e Serge Torres
	$(MAKE) -C utils
47 08aa5d9e Serge Torres
si-vector: vectors/si/si-vector.h vectors/si/si-vector.c 
48 08aa5d9e Serge Torres
	$(MAKE) -C vectors/si
49 08aa5d9e Serge Torres
mpz-vector: vectors/mpz/mpz-vector.h vectors/mpz/mpz-vector.c 
50 08aa5d9e Serge Torres
	$(MAKE) -C vectors/mpz
51 08aa5d9e Serge Torres
mpq-vector: vectors/mpq/mpq-vector.h vectors/mpq/mpq-vector.c 
52 08aa5d9e Serge Torres
	$(MAKE) -C vectors/mpq
53 08aa5d9e Serge Torres
mpfr-vector: vectors/mpfr/mpfr-vector.h vectors/mpfr/mpfr-vector.c 
54 08aa5d9e Serge Torres
	$(MAKE) -C vectors/mpfr
55 08aa5d9e Serge Torres
mpz-matrix: matrices/mpz/mpz-matrix.h matrices/mpz/mpz-matrix.c 
56 08aa5d9e Serge Torres
	$(MAKE) -C matrices/mpz
57 08aa5d9e Serge Torres
mpq-matrix: matrices/mpq/mpq-matrix.h matrices/mpq/mpq-matrix.h
58 08aa5d9e Serge Torres
	$(MAKE) -C matrices/mpq
59 08aa5d9e Serge Torres
mpfr-matrix: matrices/mpfr/mpfr-matrix.h matrices/mpfr/mpfr-matrix.c 
60 08aa5d9e Serge Torres
	$(MAKE) -C matrices/mpfr
61 08aa5d9e Serge Torres
62 08aa5d9e Serge Torres
mkloops-with-w: mkloops-with-w.o $(OBJS)
63 08aa5d9e Serge Torres
generate-w-vector: generate-w-vector.o $(OBJS)
64 08aa5d9e Serge Torres
generate-w-vector-01: generate-w-vector-01.o $(OBJS)
65 08aa5d9e Serge Torres
filter-solutions: filter-solutions.o $(OBJS)
66 08aa5d9e Serge Torres
check-solution: check-solution.o $(OBJS)
67 08aa5d9e Serge Torres
check-solution-multi: check-solution-multi.o $(OBJS)
68 08aa5d9e Serge Torres
# ---------------------------------------------------------------------
69 08aa5d9e Serge Torres
userFunc.o: userFunc.cpp
70 08aa5d9e Serge Torres
	$(CXX) $(CXXFLAGS) -c -o $@ $<
71 08aa5d9e Serge Torres
72 08aa5d9e Serge Torres
%: %.c
73 08aa5d9e Serge Torres
74 08aa5d9e Serge Torres
%.o: %.c %.h $(INCS)
75 08aa5d9e Serge Torres
	$(CC) $(CFLAGS) -c -o $@ $<
76 08aa5d9e Serge Torres
77 08aa5d9e Serge Torres
%: %.o
78 08aa5d9e Serge Torres
	$(CC) $(CFLAGS) $^ $(LDLIB) -o $@  
79 08aa5d9e Serge Torres
80 08aa5d9e Serge Torres
# ---------------------------------------------------------------------
81 08aa5d9e Serge Torres
82 08aa5d9e Serge Torres
.PHONY: clean scratch
83 08aa5d9e Serge Torres
84 08aa5d9e Serge Torres
clean:
85 08aa5d9e Serge Torres
	rm -f *.o a.out
86 08aa5d9e Serge Torres
	rm -f *~ *% #*#
87 08aa5d9e Serge Torres
88 08aa5d9e Serge Torres
scratch: clean
89 08aa5d9e Serge Torres
	rm -f $(SCRATCH_ALL)
90 08aa5d9e Serge Torres
91 08aa5d9e Serge Torres
92 08aa5d9e Serge Torres