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 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
54 MODULES_contfrac = contfrac
56 MODULES_fibonacci = fibonacci
57 MODULES_legendre = legendre
58 MODULES_lucaslehmer = lucaslehmer
59 MODULES_nextprime = nextprime
60 MODULES_perfnum = perfnum
62 all : contfrac e fibonacci legendre lucaslehmer nextprime perfnum
65 $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -S $< -o $@
68 $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -S $< -o $@
71 $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@
74 $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@
77 $(CPP) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) $< > $@
80 $(CXXCPP) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) $< > $@
82 contfrac : $(patsubst %,%.o,$(MODULES_contfrac))
83 e : $(patsubst %,%.o,$(MODULES_e))
84 fibonacci : $(patsubst %,%.o,$(MODULES_fibonacci))
85 legendre : $(patsubst %,%.o,$(MODULES_legendre))
86 lucaslehmer : $(patsubst %,%.o,$(MODULES_lucaslehmer))
87 nextprime : $(patsubst %,%.o,$(MODULES_nextprime))
88 perfnum : $(patsubst %,%.o,$(MODULES_perfnum))
89 $(PROGRAMS) : % : $(LIBDEPS)
90 $(LIBTOOL_LINK) $(CXX) $(CXXFLAGS) $(TARGET_ARCH) $(patsubst %,%.o,$(MODULES_$(*F))) $(LDFLAGS) $(LIBS) -o $@
104 $(RM) *.s *.o *.a $(PROGRAMS) a.out core
107 $(RM) config.status config.log config.cache Makefile
109 maintainer-clean : distclean