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":
21 INCLUDES = -I../include -I$(top_srcdir)/include -I$(srcdir)
22 override CPPFLAGS += $(INCLUDES)
24 LIBTOOL_LINK = $(LIBTOOL) --mode=link
30 #### End of system configuration section. ####
34 # Needed by $(LIBTOOL).
39 FILES_CC := $(notdir $(wildcard $(srcdir)/*.cc))
40 FILES_CC := $(filter-out %.i.cc, $(FILES_CC))
42 FILES_I_CC := $(patsubst %.cc,%.i.cc,$(FILES_CC))
44 FILES_S := $(patsubst %.cc,%.s,$(FILES_CC))
46 FILES_O := $(patsubst %.cc,%.o,$(FILES_CC))
50 LIBS = ../src/libcln.la -lm
51 LIBDEPS = ../src/libcln.la
53 PROGRAMS = contfrac e fibonacci legendre lucaslehmer nextprime perfnum pi
54 MODULES_contfrac = contfrac
56 MODULES_fibonacci = fibonacci
57 MODULES_legendre = legendre
58 MODULES_lucaslehmer = lucaslehmer
59 MODULES_nextprime = nextprime
60 MODULES_perfnum = perfnum
63 all : contfrac e fibonacci legendre lucaslehmer nextprime perfnum pi
66 $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -S $< -o $@
69 $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -S $< -o $@
72 $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@
75 $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@
78 $(CPP) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) $< > $@
81 $(CXXCPP) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) $< > $@
83 contfrac : $(patsubst %,%.o,$(MODULES_contfrac))
84 e : $(patsubst %,%.o,$(MODULES_e))
85 fibonacci : $(patsubst %,%.o,$(MODULES_fibonacci))
86 legendre : $(patsubst %,%.o,$(MODULES_legendre))
87 lucaslehmer : $(patsubst %,%.o,$(MODULES_lucaslehmer))
88 nextprime : $(patsubst %,%.o,$(MODULES_nextprime))
89 perfnum : $(patsubst %,%.o,$(MODULES_perfnum))
90 pi : $(patsubst %,%.o,$(MODULES_pi))
91 $(PROGRAMS) : % : $(LIBDEPS)
92 $(LIBTOOL_LINK) $(CXX) $(CXXFLAGS) $(TARGET_ARCH) $(patsubst %,%.o,$(MODULES_$(*F))) $(LDFLAGS) $(LIBS) -o $@
106 $(RM) *.s *.o *.a $(PROGRAMS) a.out core
110 $(RM) config.status config.log config.cache Makefile
112 maintainer-clean : distclean