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