1: ldadd_libncurses = $(top_builddir)/tools/@NCURSES@/lib/libncurses.a
2: include_libncurses = -I$(top_builddir)/tools/@NCURSES@/include \
3: -I$(top_srcdir)/tools/@NCURSES@/include
4:
5: ldadd_libhistory = $(top_builddir)/tools/@READLINE@/libhistory.a
6: ldadd_libreadline = $(top_builddir)/tools/@READLINE@/libreadline.a
7: include_libreadline = -I$(top_srcdir)/tools/@READLINE@ \
8: -I$(top_builddir)/tools/@READLINE@ -DREADLINE_LIBRARY
9:
10: ldadd_libgsl = $(top_builddir)/tools/@GSL@/.libs/libgsl.a
11: include_libgsl = -I$(top_builddir)/tools/@GSL@
12:
13: ldadd_libiconv = $(top_builddir)/tools/@ICONV@/lib/.libs/libiconv.a
14: include_libiconv = -I$(top_builddir)/tools/@ICONV@/include
15:
16: ldadd_libcrypto = $(top_builddir)/tools/@OPENSSL@/libcrypto.a
17: ldadd_libssl = $(top_builddir)/tools/@OPENSSL@/libssl.a
18: include_libcrypto = -I$(top_builddir)/tools/@OPENSSL@/include
19:
20: ldadd_libsqlite = $(top_builddir)/tools/@SQLITE@/.libs/libsqlite3.a
21: include_libsqlite = -I$(top_srcdir)/tools/@SQLITE@
22:
23: date = -Dd_date_rpl="\"$(shell LC_ALL=fr_FR date +'%A %x, %X %Z' | \
24: $(AWK) '{ v=$$0; gsub(/^[ \t]+/, "", v); gsub(/[ \t]+$$/, "", v); \
25: printf("%s\n", v);}')\"" \
26: -Dd_date_en_rpl="\"$(shell LC_ALL=C date +'%A %x, %X %Z' | \
27: $(AWK) '{ v=$$0; gsub(/^[ \t]+/, "", v); gsub(/[ \t]+$$/, "", v); \
28: printf("%s\n", v);}')\""
29:
30:
31: hash = -Drplpp_md5="\"$(shell $(top_builddir)/rplsums/rplmd5sum$(EXEEXT) \
32: $(top_builddir)/tools/@GPP@/src/gpp$(EXEEXT))\"" \
33: -Drplpp_sha1="\"$(shell $(top_builddir)/rplsums/rplsha1sum$(EXEEXT) \
34: $(top_builddir)/tools/@GPP@/src/gpp$(EXEEXT))\"" \
35: -Drplfile_md5="\"$(shell $(top_builddir)/rplsums/rplmd5sum$(EXEEXT) \
36: $(top_builddir)/tools/@FILE@/src/rplfile$(EXEEXT))\"" \
37: -Drplfile_sha1="\"$(shell $(top_builddir)/rplsums/rplsha1sum$(EXEEXT) \
38: $(top_builddir)/tools/@FILE@/src/rplfile$(EXEEXT))\"" \
39: -Drpliconv_md5="\"$(shell $(top_builddir)/rplsums/rplmd5sum$(EXEEXT) \
40: $(top_builddir)/rpliconv/rpliconv$(EXEEXT))\"" \
41: -Drpliconv_sha1="\"$(shell $(top_builddir)/rplsums/rplsha1sum$(EXEEXT) \
42: $(top_builddir)/rpliconv/rpliconv$(EXEEXT))\"" \
43: -Drplconvert_md5="\"$(shell $(top_builddir)/rplsums/rplmd5sum$(EXEEXT) \
44: $(top_builddir)/tools/@UNITS@/units$(EXEEXT))\"" \
45: -Drplconvert_sha1="\"$(shell $(top_builddir)/rplsums/rplsha1sum$(EXEEXT) \
46: $(top_builddir)/tools/@UNITS@/units$(EXEEXT))\""
47:
48: SRCC=\
49: algebre_lineaire1.c\
50: algebre_lineaire2.c\
51: algebre_lineaire3.c\
52: algebre_lineaire4.c\
53: analyse.c\
54: analyse_notation_algebrique.c\
55: analyse_notation_rpn.c\
56: asprintf.c\
57: bibliotheques_externes.c\
58: calcul_differentiel.c\
59: calcul_integral.c\
60: chainage.c\
61: compilation.c\
62: completion.c\
63: controle.c \
64: daemon.c\
65: date.c\
66: depassements.c\
67: dft.c\
68: encart.c\
69: evaluation.c\
70: fonctions_trigonometriques.c\
71: formateur.c\
72: formateur_fichiers.c\
73: fusible.c\
74: generateurs_aleatoires.c\
75: gestion_fichiers.c\
76: gestion_interruptions.c\
77: gestion_niveaux.c\
78: gestion_objets.c\
79: gestion_pile.c\
80: gestion_pile_last.c\
81: gestion_pile_systeme.c\
82: gestion_processus.c\
83: gestion_threads.c\
84: gestion_variables.c\
85: gestion_variables_statiques.c\
86: gestion_variables_partagees.c\
87: getaddrinfo.c\
88: indicateurs.c\
89: instructions_a1.c\
90: instructions_a2.c\
91: instructions_a3.c\
92: instructions_a4.c\
93: instructions_a5.c\
94: instructions_b1.c\
95: instructions_c1.c\
96: instructions_c2.c\
97: instructions_c3.c\
98: instructions_c4.c\
99: instructions_c5.c\
100: instructions_c6.c\
101: instructions_c7.c\
102: instructions_d1.c\
103: instructions_d2.c\
104: instructions_d3.c\
105: instructions_d4.c\
106: instructions_d5.c\
107: instructions_d6.c\
108: instructions_e1.c\
109: instructions_e2.c\
110: instructions_e3.c\
111: instructions_e4.c\
112: instructions_f1.c\
113: instructions_f2.c\
114: instructions_f3.c\
115: instructions_f4.c\
116: instructions_g1.c\
117: instructions_g2.c\
118: instructions_g3.c\
119: instructions_g4.c\
120: instructions_h1.c\
121: instructions_h2.c\
122: instructions_i1.c\
123: instructions_i2.c\
124: instructions_i3.c\
125: instructions_i4.c\
126: instructions_j1.c\
127: instructions_k1.c\
128: instructions_l1.c\
129: instructions_l2.c\
130: instructions_l3.c\
131: instructions_l4.c\
132: instructions_l5.c\
133: instructions_m1.c\
134: instructions_m2.c\
135: instructions_m3.c\
136: instructions_m4.c\
137: instructions_m5.c\
138: instructions_n1.c\
139: instructions_n2.c\
140: instructions_o1.c\
141: instructions_o2.c\
142: instructions_p1.c\
143: instructions_p2.c\
144: instructions_p3.c\
145: instructions_p4.c\
146: instructions_p5.c\
147: instructions_p6.c\
148: instructions_p7.c\
149: instructions_q1.c\
150: instructions_r1.c\
151: instructions_r2.c\
152: instructions_r3.c\
153: instructions_r4.c\
154: instructions_r5.c\
155: instructions_r6.c\
156: instructions_s1.c\
157: instructions_s2.c\
158: instructions_s3.c\
159: instructions_s4.c\
160: instructions_s5.c\
161: instructions_s6.c\
162: instructions_s7.c\
163: instructions_s8.c\
164: instructions_s9.c\
165: instructions_s10.c\
166: instructions_t1.c\
167: instructions_t2.c\
168: instructions_t3.c\
169: instructions_u1.c\
170: instructions_v1.c\
171: instructions_v2.c\
172: instructions_w1.c\
173: instructions_w2.c\
174: instructions_x1.c\
175: instructions_x2.c\
176: instructions_y1.c\
177: interface_gnuplot.c\
178: interface_tex.c\
179: interruptions.c\
180: messages.c\
181: occupation_memoire.c\
182: operations_atomiques.c\
183: operations_binaires.c\
184: optimisation.c\
185: profilage.c\
186: rpl.c\
187: rplcore.c\
188: semaphores.c\
189: sequenceur.c\
190: simplification.c\
191: sommations.c\
192: sql.c\
193: statistiques.c\
194: transliteration.c\
195: types.c
196:
197: SRCH=\
198: completion.h\
199: convert.h\
200: copyright.h\
201: garanties.h\
202: getaddrinfo.h\
203: gnuplot.h\
204: librpl.h\
205: licence.h\
206: rpl.h\
207: rplexternals.h\
208: rpltypes.h\
209: tex.h\
210: usages.h\
211: vim.h
212:
213: SRCF=\
214: arithmetique.f\
215: bibliotheque_logarithmique.f\
216: bibliotheque_trigonometrique.f
217:
218: SRCF90=\
219: combinaisons.F90\
220: distributions.F90\
221: fonctions_speciales.F90
222:
223: SRCINC=\
224: rplftypes.inc
225:
226: SRCXPM=\
227: rpl.xpm
228:
229: INIT_EXE=init.c
230:
231: INIT_LIB=librpl.c
232:
233: # @MALLOC@ doit être la première bibliothèque pour éviter que la libgfortran
234: # utilise un allocateur différent.
235: LIB=-lz @MALLOC@
236:
237: bin_PROGRAMS = rpl
238: lib_LIBRARIES = librpl.a
239:
240: SRCCc=$(SRCC:.c=-conv.c)
241: SRCHc=$(SRCH:.h=-conv.h)
242: SRCFc=$(SRCF:.f=-conv.f)
243: SRCF90c=$(SRCF90:.F90=-conv.F90)
244: SRCINCc=$(SRCINC:.inc=-conv.inc)
245: INIT_LIBc=$(INIT_LIB:.c=-conv.c)
246: INIT_EXEc=$(INIT_EXE:.c=-conv.c)
247:
248: %-conv.c: %.c
249: $(top_builddir)/rpliconv/rpliconv \
250: -f `$(top_builddir)/tools/@FILE@/src/rplfile \
251: -m $(top_builddir)/tools/@FILE@/magic/magic -i $< | \
252: $(AWK) -F= '{print $$2;}'` \
253: -t @FINAL_ENCODING@//TRANSLIT $< | expand -t 4 > $@
254:
255: %-conv.h: %.h
256: $(top_builddir)/rpliconv/rpliconv \
257: -f `$(top_builddir)/tools/@FILE@/src/rplfile \
258: -m $(top_builddir)/tools/@FILE@/magic/magic -i $< | \
259: $(AWK) -F= '{print $$2;}'` \
260: -t @FINAL_ENCODING@//TRANSLIT $< | expand -t 4 > $@
261:
262: %-conv.f: %.f
263: $(top_builddir)/rpliconv/rpliconv \
264: -f `$(top_builddir)/tools/@FILE@/src/rplfile \
265: -m $(top_builddir)/tools/@FILE@/magic/magic -i $< | \
266: $(AWK) -F= '{print $$2;}'` \
267: -t @FINAL_ENCODING@//TRANSLIT $< | expand -t 4 > $@
268:
269: %-conv.F90: %.F90
270: $(top_builddir)/rpliconv/rpliconv \
271: -f `$(top_builddir)/tools/@FILE@/src/rplfile \
272: -m $(top_builddir)/tools/@FILE@/magic/magic -i $< | \
273: $(AWK) -F= '{print $$2;}'` \
274: -t @FINAL_ENCODING@//TRANSLIT $< | expand -t 4 > $@
275:
276: %-conv.inc: %.inc
277: $(top_builddir)/rpliconv/rpliconv \
278: -f `$(top_builddir)/tools/@FILE@/src/rplfile \
279: -m $(top_builddir)/tools/@FILE@/magic/magic -i $< | \
280: $(AWK) -F= '{print $$2;}'` \
281: -t @FINAL_ENCODING@//TRANSLIT $< | expand -t 4 > $@
282:
283: licences:
284: cat $(srcdir)/../COPYING > $(srcdir)/licence.h
285: echo >> $(srcdir)/licence.h
286: echo >> $(srcdir)/licence.h
287: echo "#ifndef INCLUSION_LICENCE" >> $(srcdir)/licence.h
288: echo "# define INCLUSION_LICENCE" >> $(srcdir)/licence.h
289: echo " unsigned char CeCILL_fr[] =" >> $(srcdir)/licence.h
290: sed -e '1,$$s/"/\\"/g' $(srcdir)/../Licence_CeCILL_V2-fr.txt | \
291: $(AWK) -F'\n' '{ printf("\"%s\\n\"\n", $$1);}' \
292: >> $(srcdir)/licence.h
293: echo " ;" >> $(srcdir)/licence.h
294: echo " unsigned char CeCILL_en[] =" >> $(srcdir)/licence.h
295: sed -e '1,$$s/"/\\"/g' $(srcdir)/../Licence_CeCILL_V2-en.txt | \
296: $(AWK) -F'\n' '{ printf("\"%s\\n\"\n", $$1);}' \
297: >> $(srcdir)/licence.h
298: echo " ;" >> $(srcdir)/licence.h
299: echo "#endif" >> $(srcdir)/licence.h
300: echo >> $(srcdir)/licence.h
301: echo "// vim: ts=4" >> $(srcdir)/licence.h
302: for i in $(SRCC) $(SRCH) $(INIT_EXE) $(INIT_LIB); \
303: do \
304: cat $(srcdir)/../COPYING > $(srcdir)/tmp; \
305: echo >> $(srcdir)/tmp; \
306: echo >> $(srcdir)/tmp; \
307: $(AWK) -F'\n' 'BEGIN {d=0;} /^#/ {d=1;} {if(d==1) print $$1;}' \
308: $(srcdir)/$$i >> $(srcdir)/tmp; \
309: mv -f $(srcdir)/tmp $(srcdir)/$$i; \
310: done
311: for i in $(SRCINC); \
312: do \
313: iconv -f `file -i $(srcdir)/../COPYING | $(AWK) -F= '{print $$2;}'` \
314: $(srcdir)/../COPYING | \
315: $(AWK) -F'\n' '! (/^\/\*/ || /^\*\//) \
316: {printf("!%s\n", substr($$1,2));}' | \
317: iconv -t `file -i $(srcdir)/../COPYING | \
318: $(AWK) -F= '{print $$2;}'` > $(srcdir)/tmp; \
319: $(AWK) -F'\n' 'BEGIN {d=0;} ! /^!/ {d=1;} {if(d==1) print $$1;}' \
320: $(srcdir)/$$i >> $(srcdir)/tmp; \
321: mv -f $(srcdir)/tmp $(srcdir)/$$i; \
322: done
323: for i in $(SRCF); \
324: do \
325: iconv -f `file -i $(srcdir)/../COPYING | $(AWK) -F= '{print $$2;}'` \
326: $(srcdir)/../COPYING | \
327: $(AWK) -F'\n' '! (/^\/\*/ || /^\*\//) \
328: {printf("C%s\n", substr($$1,2));}' | \
329: iconv -t `file -i $(srcdir)/../COPYING | \
330: $(AWK) -F= '{print $$2;}'` > $(srcdir)/tmp; \
331: $(AWK) -F'\n' 'BEGIN {d=0;} ! /^C/ {d=1;} {if(d==1) print $$1;}' \
332: $(srcdir)/$$i >> $(srcdir)/tmp; \
333: mv -f $(srcdir)/tmp $(srcdir)/$$i; \
334: done
335: for i in $(SRCF90); \
336: do \
337: iconv -f `file -i $(srcdir)/../COPYING | $(AWK) -F= '{print $$2;}'` \
338: $(srcdir)/../COPYING | \
339: $(AWK) -F'\n' '! (/^\/\*/ || /^\*\//) \
340: {printf("!%s\n", substr($$1,2));}' | \
341: iconv -t `file -i $(srcdir)/../COPYING | \
342: $(AWK) -F= '{print $$2;}'` > $(srcdir)/tmp; \
343: $(AWK) -F'\n' 'BEGIN {d=0;} ! /^!/ {d=1;} {if(d==1) print $$1;}' \
344: $(srcdir)/$$i >> $(srcdir)/tmp; \
345: mv -f $(srcdir)/tmp $(srcdir)/$$i; \
346: done
347:
348: librplprototypes.h: rpl.h conversion.awk
349: $(AWK) -f $(srcdir)/conversion.awk $(srcdir)/rpl.h > \
350: $(top_builddir)/src/librplprototypes.h
351:
352: generateurs.c: generateurs_aleatoires.awk
353: $(AWK) -f $(srcdir)/generateurs_aleatoires.awk \
354: $(srcdir)/../tools/@GSL@/rng/gsl_rng.h > \
355: $(top_builddir)/src/generateurs.c
356:
357: rpl.inc:
358: echo BUILDPATH=$(top_builddir)/.. > $@
359: echo COMPILE=$(DEFS) >> $@
360: echo LINK=@libX@ @libMySQLlib@ @libPgSQLlib@ $(LIBS) >> $@
361: echo OBJECTS=$(SRCCc:.c=.$(OBJEXT)) $(SRCFc:.f=.$(OBJEXT)) \
362: $(SRCF90c:.F90=.$(OBJEXT)) \
363: librpl-conv.$(OBJEXT) >> $@
364: echo EXTOBJECTS= @MALLOC@ @EXT_SQL@ \
365: $(top_builddir)/lapack/lapack/liblapack.a \
366: $(top_builddir)/lapack/blas/libblas.a \
367: $(ldadd_libhistory) \
368: $(ldadd_libreadline) \
369: $(ldadd_libncurses) \
370: $(ldadd_libgsl) \
371: $(ldadd_libiconv) \
372: $(ldadd_libcrypto) \
373: $(ldadd_libssl) \
374: $(ldadd_libsqlite) \
375: >> $@
376:
377: EXTRA_DIST = $(SRCC) $(SRCH) $(SRCF) $(SRCF90) $(SRCINC) \
378: $(INIT_EXE) $(INIT_LIB) $(SRCXPM) \
379: conversion.awk generateurs_aleatoires.awk
380: BUILT_SOURCES = librplprototypes.h generateurs.c \
381: $(SRCCc) $(SRCHc) $(SRCFc) $(SRCF90c) \
382: $(INIT_LIBc) $(SRCINCc) $(INIT_EXEc) \
383: rpl.inc
384: CLEANFILES= $(SRCCc) $(SRCHc) $(SRCFc) $(SRCF90c) $(SRCINCc) \
385: $(INIT_LIBc) $(INIT_EXEc) librplprototypes.h generateurs.c \
386: rpl.inc rpl-librpl-conv.$(OBJEXT)
387:
388: nodist_rpl_SOURCES = \
389: $(SRCCc) $(SRCHc) $(SRCFc) $(SRCF90c) $(INIT_EXEc) \
390: $(SRCXPM) $(SRCINCc)
391: rpl_LDFLAGS = -g @PROFILAGE@ $(LIB) @EXPORT_DYNAMIC@
392: rpl_CFLAGS = $(AM_CFLAGS) @C_STANDARD@ -Wall -Wextra -Wno-unused-function \
393: -Wno-pointer-sign -Wno-unused-parameter @NESTED_FUNCTIONS@
394: rpl_FFLAGS = $(AM_FFLAGS) -fno-f2c
395: rpl_FCFLAGS = $(AM_FCFLAGS) -fno-second-underscore -fno-f2c
396:
397: nodist_librpl_a_SOURCES = \
398: $(SRCCc) $(SRCHc) $(SRCFc) $(SRCF90c) $(INIT_LIBc) \
399: $(SRCXPM) $(SRCINCc)
400: librpl_a_CFLAGS = $(AM_CFLAGS) @C_STANDARD@ -Wall -Wextra -Wno-unused-function \
401: -Wno-pointer-sign -Wno-unused-parameter @NESTED_FUNCTIONS@
402: librpl_a_FFLAGS = $(AM_FFLAGS) -ff2c
403: librpl_a_FCFLAGS = $(AM_FCLAGS) -fno-second-underscore
404:
405: include_HEADERS = rplexternals.h rpltypes.h rpl.h librpl.h rpl.inc \
406: librplprototypes.h
407:
408: INCLUDES = -I$(srcdir) -I$(top_builddir) \
409: $(include_libreadline) $(include_libncurses) $(include_libgsl) \
410: $(include_libiconv) $(include_libcrypto) $(include_libsqlite)\
411: @includeX@ @libMySQLinc@ @libPgSQLinc@
412: DEFS = -DHAVE_CONFIG_H -Dd_version_rpl=\"@VERSION@\" @BROKEN_SIGINFO@ \
413: -Dd_exec_path=\"@RUNPATH@\" @FORCE_GNUPLOT_PATH@ @DEBUG@ \
414: @MOTIF_SUPPORT@ @POSTSCRIPT_SUPPORT@ @GNUPLOT_SUPPORT@ \
415: @VIM_SUPPORT@ @MYSQL_SUPPORT@ @POSTGRESQL_SUPPORT@ \
416: @SEMAPHORES_NOMMES@ @SEMAPHORES_SYSV@ @SEMUN@ @IPV6@ \
417: @EXPERIMENTAL_CODE@ $(date) $(hash) -g @PROFILAGE@ \
418: -Dd_locale=\"@FINAL_ENCODING@\" \
419: -D@OS@
420: rpl_LDADD = \
421: $(top_builddir)/lapack/lapack/liblapack.a \
422: $(top_builddir)/lapack/blas/libblas.a \
423: $(ldadd_libhistory) $(ldadd_libreadline) $(ldadd_libncurses) \
424: $(ldadd_libiconv) $(ldadd_libcrypto) $(ldadd_libssl) \
425: $(ldadd_libsqlite) \
426: $(ldadd_libgsl) @libX@ @libMySQLlib@ @libPgSQLlib@
427:
428: always: $(top_builddir)/src/rpl-conv.c
429: touch $(top_builddir)/src/rpl.conv.c; \
430: if [ x$(shell which ctags) != x ]; then \
431: (cd $(srcdir); ctags $(SRCC) $(SRCF) $(SRCF90) \
432: $(INIT_LIB) $(INIT_EXE) 2>&1 /dev/null); \
433: fi;
434:
435: .PHONY: always librpl licences rpl.inc
436:
437: all-local: always
438:
439: install-exec-local: librpl
440:
441: librpl: install-libLIBRARIES
442: if [ -d $(top_builddir)/librpl ]; then \
443: rm -rf $(top_builddir)/librpl; \
444: fi
445: mkdir -p $(top_builddir)/librpl; \
446: for i in $(top_builddir)/src/librpl.a \
447: @MALLOC@ \
448: $(ldadd_libhistory) $(ldadd_libreadline) \
449: $(top_builddir)/lapack/lapack/liblapack.a \
450: $(top_builddir)/lapack/blas/libblas.a \
451: $(ldadd_libncurses) $(ldadd_libgsl) $(ldadd_libiconv) \
452: $(ldadd_libcrypto) $(ldadd_libssl) $(ldadd_libsqlite); \
453: do \
454: cp -f $$i $(top_builddir)/librpl; \
455: done
456: (cd $(top_builddir)/librpl && \
457: for i in *.a; do ar x $$i && rm -f $$i; done; \
458: L="start"; \
459: echo Building standalone librpl.a; \
460: while test -n "$$L"; \
461: do \
462: L=""; j=0; \
463: for i in `ls *.$(OBJEXT) 2> /dev/null`; \
464: do \
465: k=`echo $$i | wc -c`; \
466: j=`expr $$j + $$k + 1`; \
467: if test $$j -le 5000; then \
468: L="$$L $$i"; \
469: else \
470: break; \
471: fi; \
472: done; \
473: ar cru librpl.a $$L; \
474: rm -f $$L; \
475: echo -n "Remaining files "; \
476: ls *.$(OBJEXT) 2> /dev/null | wc -l; \
477: done; \
478: echo Done; \
479: ar s librpl.a; \
480: if [ @OS@ != OS2 ]; then \
481: echo Stripping librpl.a && strip -d librpl.a; \
482: fi;); \
483: mv -f $(top_builddir)/librpl/librpl.a $(top_builddir)/src/librpl.a
484:
CVSweb interface <joel.bertrand@systella.fr>