Make snark14 library
[snark14.git] / src / snark / Makefile
1 # Makefile to build an instance of snark14
2
3 ROOTDIR    = ../..
4 XERCES     = ../..
5
6 CC         = gcc
7 CXX        = g++
8 LD         = g++
9
10 LIBDIR    = $(ROOTDIR)/lib
11
12 CXXFLAGS  = -O4 -fPIC -DLINUX -D_REENTRANT -w -Wunused-parameter
13
14 LDFLAGS   = 
15
16 SRC_CXX    = \
17                 alb1.cpp \
18                 alb2.cpp \
19                 alb3.cpp \
20                 alb4.cpp \
21                 alb5.cpp \
22                 alg.cpp \
23                 alp1.cpp \
24                 alp2.cpp \
25                 alp3.cpp \
26                 alp4.cpp \
27                 alp5.cpp \
28                 anglst.cpp \
29                 art_artbck.cpp \
30                 art_bkproj.cpp \
31                 art_clip.cpp \
32                 art.cpp \
33                 art_crset.cpp \
34                 art_readin.cpp \
35                 art_rset.cpp \
36                 art_tset.cpp \
37                 back.cpp \
38                 basis.cpp \
39                 BasisFunctionBlob.cpp \
40                 BasisFunctionPixel.cpp \
41                 bbldlst.cpp \
42                 bckprj.cpp \
43                 bckray.cpp \
44                 bdhk.cpp \
45                 bdhk_misl.cpp \
46                 bh_correction.cpp \
47                 bldlst.cpp \
48                 blkdta.cpp \
49                 blob2pix.cpp \
50                 blob_bpix.cpp \
51                 blob.cpp \
52                 blob_footp.cpp \
53                 blob_functions.cpp \
54                 blob_setparam.cpp \
55                 blob_table.cpp \
56                 bpseudo.cpp \
57                 bray.cpp \
58                 bsmooth.cpp \
59                 bwray.cpp \
60                 chtoin.cpp \
61                 cin.cpp \
62                 congeo.cpp \
63                 consts.cpp \
64                 contur.cpp \
65                 conv.cpp \
66                 creacm.cpp \
67                 creaer.cpp \
68                 creaph.cpp \
69                 creapr.cpp \
70                 creatr.cpp \
71                 dcon.cpp \
72                 dcon_dconbl.cpp \
73                 dcon_dconft.cpp \
74                 disp.cpp \
75                 disply.cpp \
76                 DistanceMeasure.cpp \
77                 DistanceMeasurePixel.cpp \
78                 DistanceMeasureWSQD.cpp \
79                 dist.cpp \
80                 doline.cpp \
81                 effpick.cpp \
82                 emap_CEvalMAP.cpp \
83                 emap_CInitMAP.cpp \
84                 emap_CMAP.cpp \
85                 emap.cpp \
86                 emap_CReadInp.cpp \
87                 emap_Cwray.cpp \
88                 emap_sscal.cpp \
89                 err.cpp \
90                 errfac.cpp \
91                 errpar.cpp \
92                 eval.cpp \
93                 exalg.cpp \
94                 fft2p.cpp \
95                 file11.cpp \
96                 foru_bckwrd.cpp \
97                 foru.cpp \
98                 foru_error.cpp \
99                 foru_fft.cpp \
100                 foru_forwrd.cpp \
101                 foru_frfilt.cpp \
102                 foru_frinit.cpp \
103                 foru_ftfill.cpp \
104                 foru_ftmap.cpp \
105                 foru_intrpl.cpp \
106                 foru_prjtrn.cpp \
107                 foru_store.cpp \
108                 foru_uint.cpp \
109                 foru_unif.cpp \
110                 foru_vc56.cpp \
111                 foru_vcase1.cpp \
112                 foru_vcase2.cpp \
113                 foru_vcase3.cpp \
114                 foru_vcase4.cpp \
115                 foru_vint14.cpp \
116                 fourie.cpp \
117                 ftodd.cpp \
118                 geom.cpp \
119                 GeometricBehaviour.cpp \
120                 getang.cpp \
121                 getden.cpp \
122                 getint.cpp \
123                 getnum.cpp \
124                 getnxt.cpp \
125                 getwrd.cpp \
126                 halft.cpp \
127                 infile.cpp \
128                 inputfile.cpp \
129                 int2str.cpp \
130                 lines.cpp \
131                 lino.cpp \
132                 lino_czt.cpp \
133                 lino_sumfac.cpp \
134                 mart.cpp \
135                 mode.cpp \
136                 modefl.cpp \
137                 nav1.cpp \
138                 nav2.cpp \
139                 nav3.cpp \
140                 nav4.cpp \
141                 nav5.cpp \
142                 nav.cpp \
143                 noise.cpp \
144                 objects.cpp \
145                 pick.cpp \
146                 pix2blob.cpp \
147                 pnch.cpp \
148                 pnchfile.cpp \
149                 point.cpp \
150                 posit.cpp \
151                 post.cpp \
152                 prdta.cpp \
153                 primfc.cpp \
154                 projfile.cpp \
155                 pseudo.cpp \
156                 qfilt.cpp \
157                 qinit.cpp \
158                 qintp.cpp \
159                 quad_adsmos.cpp \
160                 quad_back.cpp \
161                 quad_badsmos.cpp \
162                 quad_blurck.cpp \
163                 quad_bprpict.cpp \
164                 quad_costfn.cpp \
165                 quad.cpp \
166                 quad_deltac.cpp \
167                 quad_deltad.cpp \
168                 quad_deset.cpp \
169                 quad_dset.cpp \
170                 quad_eigval.cpp \
171                 quad_matrix.cpp \
172                 quad_mtamx.cpp \
173                 quad_mtamxp.cpp \
174                 quad_nextr.cpp \
175                 quad_nxtpct.cpp \
176                 quad_prpict.cpp \
177                 quad_prsemi.cpp \
178                 quad_resedu.cpp \
179                 quad_semi.cpp \
180                 quad_seset.cpp \
181                 quad_sset.cpp \
182                 quad_uerror.cpp \
183                 ray.cpp \
184                 raylen.cpp \
185                 raysel.cpp \
186                 rdpict.cpp \
187                 rdproj.cpp \
188                 recfile.cpp \
189                 region.cpp \
190                 rfl.cpp \
191                 rtfort.cpp \
192                 SARTConfig.cpp \
193                 sart.cpp \
194                 sec_cri1.cpp \
195                 sec_cri2.cpp \
196                 sec_cri3.cpp \
197                 sec_cri4.cpp \
198                 sec_cri5.cpp \
199                 sec_cri.cpp \
200                 second.cpp \
201                 select.cpp \
202                 settra.cpp \
203                 sinc.cpp \
204                 sirt.cpp \
205                 smooth.cpp \
206                 snark.cpp \
207                 snfft.cpp \
208                 spctrm.cpp \
209                 stopex.cpp \
210                 subreg.cpp \
211                 superior.cpp \
212                 term.cpp \
213                 TerminationCriterion.cpp \
214                 termtest.cpp \
215                 transm.cpp \
216                 trm1.cpp \
217                 trm2.cpp \
218                 trm3.cpp \
219                 trm4.cpp \
220                 trm5.cpp \
221                 trm6.cpp \
222                 trm_weighted_squared_distance.cpp \
223                 uiod.cpp \
224                 unkps.cpp \
225                 wray.cpp \
226                 wrdpack.cpp
227
228 OBJ_CXX    = \
229                 alb1.o \
230                 alb2.o \
231                 alb3.o \
232                 alb4.o \
233                 alb5.o \
234                 alg.o \
235                 alp1.o \
236                 alp2.o \
237                 alp3.o \
238                 alp4.o \
239                 alp5.o \
240                 anglst.o \
241                 art_artbck.o \
242                 art_bkproj.o \
243                 art_clip.o \
244                 art.o \
245                 art_crset.o \
246                 art_readin.o \
247                 art_rset.o \
248                 art_tset.o \
249                 back.o \
250                 basis.o \
251                 BasisFunctionBlob.o \
252                 BasisFunctionPixel.o \
253                 bbldlst.o \
254                 bckprj.o \
255                 bckray.o \
256                 bdhk.o \
257                 bdhk_misl.o \
258                 bh_correction.o \
259                 bldlst.o \
260                 blkdta.o \
261                 blob2pix.o \
262                 blob_bpix.o \
263                 blob.o \
264                 blob_footp.o \
265                 blob_functions.o \
266                 blob_setparam.o \
267                 blob_table.o \
268                 bpseudo.o \
269                 bray.o \
270                 bsmooth.o \
271                 bwray.o \
272                 chtoin.o \
273                 cin.o \
274                 congeo.o \
275                 consts.o \
276                 contur.o \
277                 conv.o \
278                 creacm.o \
279                 creaer.o \
280                 creaph.o \
281                 creapr.o \
282                 creatr.o \
283                 dcon.o \
284                 dcon_dconbl.o \
285                 dcon_dconft.o \
286                 disp.o \
287                 disply.o \
288                 DistanceMeasure.o \
289                 DistanceMeasurePixel.o \
290                 DistanceMeasureWSQD.o \
291                 dist.o \
292                 doline.o \
293                 effpick.o \
294                 emap_CEvalMAP.o \
295                 emap_CInitMAP.o \
296                 emap_CMAP.o \
297                 emap.o \
298                 emap_CReadInp.o \
299                 emap_Cwray.o \
300                 emap_sscal.o \
301                 err.o \
302                 errfac.o \
303                 errpar.o \
304                 eval.o \
305                 exalg.o \
306                 fft2p.o \
307                 file11.o \
308                 foru_bckwrd.o \
309                 foru.o \
310                 foru_error.o \
311                 foru_fft.o \
312                 foru_forwrd.o \
313                 foru_frfilt.o \
314                 foru_frinit.o \
315                 foru_ftfill.o \
316                 foru_ftmap.o \
317                 foru_intrpl.o \
318                 foru_prjtrn.o \
319                 foru_store.o \
320                 foru_uint.o \
321                 foru_unif.o \
322                 foru_vc56.o \
323                 foru_vcase1.o \
324                 foru_vcase2.o \
325                 foru_vcase3.o \
326                 foru_vcase4.o \
327                 foru_vint14.o \
328                 fourie.o \
329                 ftodd.o \
330                 geom.o \
331                 GeometricBehaviour.o \
332                 getang.o \
333                 getden.o \
334                 getint.o \
335                 getnum.o \
336                 getnxt.o \
337                 getwrd.o \
338                 halft.o \
339                 infile.o \
340                 inputfile.o \
341                 int2str.o \
342                 lines.o \
343                 lino.o \
344                 lino_czt.o \
345                 lino_sumfac.o \
346                 mart.o \
347                 mode.o \
348                 modefl.o \
349                 nav1.o \
350                 nav2.o \
351                 nav3.o \
352                 nav4.o \
353                 nav5.o \
354                 nav.o \
355                 noise.o \
356                 objects.o \
357                 pick.o \
358                 pix2blob.o \
359                 pnch.o \
360                 pnchfile.o \
361                 point.o \
362                 posit.o \
363                 post.o \
364                 prdta.o \
365                 primfc.o \
366                 projfile.o \
367                 pseudo.o \
368                 qfilt.o \
369                 qinit.o \
370                 qintp.o \
371                 quad_adsmos.o \
372                 quad_back.o \
373                 quad_badsmos.o \
374                 quad_blurck.o \
375                 quad_bprpict.o \
376                 quad_costfn.o \
377                 quad.o \
378                 quad_deltac.o \
379                 quad_deltad.o \
380                 quad_deset.o \
381                 quad_dset.o \
382                 quad_eigval.o \
383                 quad_matrix.o \
384                 quad_mtamx.o \
385                 quad_mtamxp.o \
386                 quad_nextr.o \
387                 quad_nxtpct.o \
388                 quad_prpict.o \
389                 quad_prsemi.o \
390                 quad_resedu.o \
391                 quad_semi.o \
392                 quad_seset.o \
393                 quad_sset.o \
394                 quad_uerror.o \
395                 ray.o \
396                 raylen.o \
397                 raysel.o \
398                 rdpict.o \
399                 rdproj.o \
400                 recfile.o \
401                 region.o \
402                 rfl.o \
403                 rtfort.o \
404                 SARTConfig.o \
405                 sart.o \
406                 sec_cri1.o \
407                 sec_cri2.o \
408                 sec_cri3.o \
409                 sec_cri4.o \
410                 sec_cri5.o \
411                 sec_cri.o \
412                 second.o \
413                 select.o \
414                 settra.o \
415                 sinc.o \
416                 sirt.o \
417                 smooth.o \
418                 snark.o \
419                 snfft.o \
420                 spctrm.o \
421                 stopex.o \
422                 subreg.o \
423                 superior.o \
424                 term.o \
425                 TerminationCriterion.o \
426                 termtest.o \
427                 transm.o \
428                 trm1.o \
429                 trm2.o \
430                 trm3.o \
431                 trm4.o \
432                 trm5.o \
433                 trm6.o \
434                 trm_weighted_squared_distance.o \
435                 uiod.o \
436                 unkps.o \
437                 wray.o \
438                 wrdpack.o
439
440 INCLUDES   = -I/usr/include -I./include -I$(XERCES) -I$(XERCES)/include \
441              -I$(ROOTDIR)/include/DIGFile -I$(ROOTDIR)/include/DIGFileSnark \
442              -I$(ROOTDIR)/include/DIGRand
443
444 LIBPATH   = -L$(PREFIX)/lib -L$(XERCES)/lib
445 LIBS      = $(LIBPATH) -lm -lxerces-c
446
447 TARGET    = $(LIBDIR)/libsnark14.so
448
449 .PHONY: all
450
451 all: $(LIBDIR) $(TARGET)
452
453 $(TARGET): $(OBJ_CXX)
454         $(LD) --shared $(LIBS) $(LDFLAGS) -o $(TARGET) $(OBJ_CXX)
455
456 *.o : *.cpp
457         $(CXX) -c $(CXXFLAGS) $(INCLUDES) -o $@ $<
458
459 $(LIBDIR) :
460         @mkdir -p $(LIBDIR)
461
462 clean:
463         @rm -rf $(OBJ_CXX) $(TARGET)
464