1 # Makefile for cln/examples
2 # This is only needed while CLN has not been installed in a public place on
3 # your system (such as /usr/local/include and /usr/local/lib). Once CLN is
4 # installed, a simple C++ compiler command suffices.
6 #### Start of system configuration section. ####
8 # Directories used by "make":
10 top_srcdir = @top_srcdir@
12 # Programs used by "make":
22 INCLUDES = -I../include -I${top_srcdir}/include -I${srcdir}
23 override CPPFLAGS += ${INCLUDES}
25 LIBTOOL_LINK = ${LIBTOOL} --mode=link
31 #### End of system configuration section. ####
35 # Needed by ${LIBTOOL}.
40 FILES_CC := $(notdir $(wildcard ${srcdir}/*.cc))
41 FILES_CC := $(filter-out %.i.cc, ${FILES_CC})
43 FILES_I_CC := $(patsubst %.cc,%.i.cc,${FILES_CC})
45 FILES_S := $(patsubst %.cc,%.s,${FILES_CC})
47 FILES_O := $(patsubst %.cc,%.o,${FILES_CC})
51 LIBS = ../src/libcln.la -lm
52 LIBDEPS = ../src/libcln.la
54 PROGRAMS = contfrac e fibonacci legendre lucaslehmer nextprime perfnum pi
55 MODULES_contfrac = contfrac
57 MODULES_fibonacci = fibonacci
58 MODULES_legendre = legendre
59 MODULES_lucaslehmer = lucaslehmer
60 MODULES_nextprime = nextprime
61 MODULES_perfnum = perfnum
64 all : contfrac e fibonacci legendre lucaslehmer nextprime perfnum pi
67 ${CC} ${CFLAGS} ${CPPFLAGS} ${TARGET_ARCH} -S $< -o $@
70 ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${TARGET_ARCH} -S $< -o $@
73 ${CC} ${CFLAGS} ${CPPFLAGS} ${TARGET_ARCH} -c $< -o $@
76 ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${TARGET_ARCH} -c $< -o $@
79 ${CPP} ${CFLAGS} ${CPPFLAGS} ${TARGET_ARCH} $< > $@
82 ${CXXCPP} ${CXXFLAGS} ${CPPFLAGS} ${TARGET_ARCH} $< > $@
84 contfrac : $(patsubst %,%.o,${MODULES_contfrac})
85 e : $(patsubst %,%.o,${MODULES_e})
86 fibonacci : $(patsubst %,%.o,${MODULES_fibonacci})
87 legendre : $(patsubst %,%.o,${MODULES_legendre})
88 lucaslehmer : $(patsubst %,%.o,${MODULES_lucaslehmer})
89 nextprime : $(patsubst %,%.o,${MODULES_nextprime})
90 perfnum : $(patsubst %,%.o,${MODULES_perfnum})
91 pi : $(patsubst %,%.o,${MODULES_pi})
92 ${PROGRAMS} : % : ${LIBDEPS}
93 ${LIBTOOL_LINK} ${CXX} ${CXXFLAGS} ${TARGET_ARCH} $(patsubst %,%.o,$(MODULES_$(*F))) ${LDFLAGS} ${LIBS} -o $@
107 ${RM} *.s *.o *.a ${PROGRAMS} a.out core
111 ${RM} config.status config.log config.cache Makefile
113 maintainer-clean : distclean