1# -*- coding: utf-8 -*-
2#Compiler
3MKOCTFILE?=mkoctfile
4#Common warning flags for C and C++
5FLAGSCOMW=-Wall -Wextra -Wshadow -Wcast-qual -Wcast-align -Wwrite-strings
6#Common optimization flags for C and C++
7FLAGSCOMO=-O2 -funroll-loops -fno-common -fshort-enums
8#Flags for C
9CFLAGS+=-std=c99 -pedantic $(FLAGSCOMW) -Wconversion -Wmissing-prototypes
10CFLAGS+=-Wstrict-prototypes -Wnested-externs $(FLAGSCOMO)
11#Flags for C++
12CXXFLAGS+=$(FLAGSCOMW) $(FLAGSCOMO)
13#Export flags for compilers and linker
14export CFLAGS CXXFLAGS
15
16.PHONY: all
17all: compile
18
19.PHONY: compile
20compile:
21	$(MKOCTFILE) -c -I. calctopo.c -o calctopo.o
22	$(MKOCTFILE) -c -I. compilador.c -o compilador.o
23	$(MKOCTFILE) -c -I. dpeuckera.c -o dpeuckera.o
24	$(MKOCTFILE) -c -I. dpeuckere.c -o dpeuckere.o
25	$(MKOCTFILE) -c -I. dpeuckerp.c -o dpeuckerp.o
26	$(MKOCTFILE) -c -I. dpeucker.c -o dpeucker.o
27	$(MKOCTFILE) -c -I. errores.c -o errores.o
28	$(MKOCTFILE) -c -I. eucli.c -o eucli.o
29	$(MKOCTFILE) -c -I. fgeneral.c -o fgeneral.o
30	$(MKOCTFILE) -c -I. geocnan.c -o geocnan.o
31	$(MKOCTFILE) -c -I. geocomp.c -o geocomp.o
32	$(MKOCTFILE) -c -I. -DCOLUMN_MAJOR_ORDER_MATVEC posmatvec.c -o posmatvec.o
33	$(MKOCTFILE) -c -I. -DCALCULO_PRODUCTO_MULT mate.c -o mate.o
34	$(MKOCTFILE) -c -I. arco.c -o arco.o
35	$(MKOCTFILE) -c -I. greiner.c -o greiner.o
36	$(MKOCTFILE) -c -I. polig.c -o polig.o
37	$(MKOCTFILE) -c -I. polil.c -o polil.o
38	$(MKOCTFILE) -c -I. ptopol.c -o ptopol.o
39	$(MKOCTFILE) -c -I. recpolil.c -o recpolil.o
40	$(MKOCTFILE) -c -I. segmento.c -o segmento.o
41	$(MKOCTFILE) -c -I. ventorno.c -o ventorno.o
42	$(MKOCTFILE) -c -I. proyecaux.c -o proyecaux.o
43	$(MKOCTFILE) -s -I. _oc_polybool.cc *.o
44
45.PHONY: clean
46clean:
47	rm -rf *.o *~
48
49.PHONY: cleanall
50cleanall:
51	rm -rf *~ *.o *.oct
52