mirror of
https://github.com/vale981/arb
synced 2025-03-04 17:01:40 -05:00
replace makefiles with version based on the improved flint makefiles
This commit is contained in:
parent
7554efeb93
commit
a4019154e7
30 changed files with 819 additions and 1265 deletions
228
Makefile.in
228
Makefile.in
|
@ -1,106 +1,196 @@
|
|||
LIBS=-L$(CURDIR) -L$(ARB_FLINT_LIB_DIR) -L$(ARB_GMP_LIB_DIR) -L$(ARB_MPFR_LIB_DIR) -larb -lflint -lmpfr -lgmp -lpthread -lm
|
||||
LIBS2=-L$(ARB_FLINT_LIB_DIR) -L$(ARB_GMP_LIB_DIR) -L$(ARB_MPFR_LIB_DIR) -lflint -lmpfr -lgmp -lpthread -lm
|
||||
INCS=-I$(CURDIR) -I$(ARB_GMP_INCLUDE_DIR) -I$(ARB_MPFR_INCLUDE_DIR) -I$(ARB_FLINT_INCLUDE_DIR)
|
||||
LINKLIBS=$(ARB_GMP_LIB_DIR)/libgmp.a $(ARB_MPFR_LIB_DIR)/libmpfr.a $(ARB_FLINT_LIB_DIR)/libflint.so
|
||||
ifdef $(DLPATH)
|
||||
$(DLPATH):=$($(DLPATH)):$(DLPATH_ADD)
|
||||
else
|
||||
$(DLPATH):=$(DLPATH_ADD)
|
||||
endif
|
||||
|
||||
QUIET_CC = @echo ' ' CC ' ' $@;
|
||||
QUIET_CXX = @echo ' ' CXX ' ' $@;
|
||||
QUIET_AR = @echo ' ' AR ' ' $@;
|
||||
|
||||
AT=@
|
||||
|
||||
BUILD_DIRS = fmpr arf mag arb arb_mat arb_poly arb_calc acb acb_mat acb_poly \
|
||||
acb_calc fmprb fmprb_poly fmprb_mat fmprb_calc fmpcb fmpcb_poly fmpcb_mat \
|
||||
fmpcb_calc elefun bernoulli hypgeom gamma zeta fmpz_extras partitions \
|
||||
$(EXTRA_BUILD_DIRS)
|
||||
|
||||
TEMPLATE_DIRS =
|
||||
|
||||
LD_LIBRARY_PATH:=${CURDIR}:${ARB_FLINT_LIB_DIR}:${ARB_MPFR_LIB_DIR}:${ARB_GMP_LIB_DIR}:${LD_LIBRARY_PATH}
|
||||
export LD_LIBRARY_PATH
|
||||
export
|
||||
|
||||
SOURCES = $(wildcard *.c)
|
||||
SOURCES =
|
||||
LIB_SOURCES = $(wildcard $(patsubst %, %/*.c, $(BUILD_DIRS))) $(patsubst %, %/*.c, $(TEMPLATE_DIRS))
|
||||
|
||||
HEADERS = $(wildcard *.h)
|
||||
HEADERS = $(patsubst %, %.h, $(BUILD_DIRS))
|
||||
|
||||
OBJS = $(patsubst %.c, build/%.o, $(SOURCES))
|
||||
LIB_OBJS = $(patsubst %, build/%/*.o, $(BUILD_DIRS))
|
||||
|
||||
LOBJS = $(patsubst %.c, build/%.lo, $(SOURCES))
|
||||
|
||||
LIB_SOURCES = $(SOURCES) $(foreach dir, $(BUILD_DIRS), $(wildcard $(dir)/*.c))
|
||||
|
||||
LIB_OBJS = $(patsubst %.c, build/%.lo, $(LIB_SOURCES))
|
||||
LIB_LOBJS = $(patsubst %, build/%/*.lo, $(BUILD_DIRS))
|
||||
MOD_LOBJS = $(patsubst %, build/%.lo, $(BUILD_DIRS))
|
||||
|
||||
EXMP_SOURCES = $(wildcard examples/*.c)
|
||||
|
||||
TEST_SOURCES = $(wildcard test/*.c)
|
||||
|
||||
PROF_SOURCES = $(wildcard profile/*.c)
|
||||
|
||||
EXMPS = $(patsubst %.c, %, $(EXMP_SOURCES))
|
||||
|
||||
TESTS = $(patsubst %.c, %, $(TEST_SOURCES))
|
||||
TEST_SOURCES = $(wildcard test/*.c)
|
||||
TESTS = $(patsubst %.c, build/%$(EXEEXT), $(TEST_SOURCES))
|
||||
|
||||
PROFS = $(patsubst %.c, %, $(PROF_SOURCES))
|
||||
PROF_SOURCES = $(wildcard profile/*.c)
|
||||
PROFS = $(patsubst %.c, %$(EXEEXT), $(PROF_SOURCES))
|
||||
|
||||
all: all-dirs $(OBJS) recursive library
|
||||
TUNE_SOURCES = $(wildcard tune/*.c)
|
||||
TUNE = $(patsubst %.c, %$(EXEEXT), $(TUNE_SOURCES))
|
||||
|
||||
all-dirs:
|
||||
$(foreach dir, $(BUILD_DIRS), mkdir -p build/$(dir);)
|
||||
EXT_SOURCES = $(foreach ext, $(EXTENSIONS), $(foreach dir, $(patsubst $(ext)/%.h, %, $(wildcard $(ext)/*.h)), $(wildcard $(ext)/$(dir)/*.c)))
|
||||
EXT_TEST_SOURCES = $(foreach ext, $(EXTENSIONS), $(foreach dir, $(patsubst $(ext)/%.h, %, $(wildcard $(ext)/*.h)), $(wildcard $(ext)/$(dir)/test/t-*.c)))
|
||||
EXT_TUNE_SOURCES = $(foreach ext, $(EXTENSIONS), $(foreach dir, $(patsubst $(ext)/%.h, %, $(wildcard $(ext)/*.h)), $(wildcard $(ext)/$(dir)/tune/*.c)))
|
||||
EXT_PROF_SOURCES = $(foreach ext, $(EXTENSIONS), $(foreach dir, $(patsubst $(ext)/%.h, %, $(wildcard $(ext)/*.h)), $(wildcard $(ext)/$(dir)/profile/p-*.c)))
|
||||
EXT_OBJS = $(foreach ext, $(EXTENSIONS), $(foreach dir, $(patsubst $(ext)/%.h, %, $(wildcard $(ext)/*.h)), build/$(dir).lo))
|
||||
EXT_HEADERS = $(foreach ext, $(EXTENSIONS), $(wildcard $(ext)/*.h))
|
||||
|
||||
all: library
|
||||
|
||||
quiet: library
|
||||
|
||||
verbose:
|
||||
$(MAKE) AT= QUIET_CC= QUIET_CXX= QUIET_AR=
|
||||
|
||||
clean:
|
||||
$(foreach dir, $(BUILD_DIRS), export BUILD_DIR=../build/$(dir); $(MAKE) -C $(dir) clean;)
|
||||
$(AT)$(foreach dir, $(BUILD_DIRS), BUILD_DIR=../build/$(dir); export BUILD_DIR; MOD_DIR=$(dir); export MOD_DIR; $(MAKE) -f ../Makefile.subdirs -C $(dir) clean || exit $$?;)
|
||||
$(AT)$(foreach ext, $(EXTENSIONS), $(foreach dir, $(patsubst $(ext)/%.h, %, $(wildcard $(ext)/*.h)), BUILD_DIR=$(CURDIR)/build/$(dir); export BUILD_DIR; MOD_DIR=$(dir); export MOD_DIR; $(MAKE) -f $(CURDIR)/Makefile.subdirs -C $(ext)/$(dir) clean || exit $$?;))
|
||||
rm -f $(OBJS) $(LOBJS) $(TESTS) $(PROFS) $(EXMPS) $(ARB_LIB) libarb.a
|
||||
rm -rf build
|
||||
|
||||
distclean: clean
|
||||
rm -f Makefile
|
||||
|
||||
dist:
|
||||
git archive --format tar --prefix arb-0.0/ trunk > ../arb-0.0.tar; gzip ../arb-0.0.tar
|
||||
|
||||
profile: all profiler.o
|
||||
profile: library $(PROF_SOURCES) $(EXT_PROF_SOURCES) build/profiler.o
|
||||
mkdir -p build/profile
|
||||
$(foreach prog, $(PROFS), $(CC) -O2 -std=c99 $(INCS) $(prog).c profiler.o -o build/$(prog) $(LIBS);)
|
||||
$(foreach dir, $(BUILD_DIRS), mkdir -p build/$(dir)/profile; export BUILD_DIR=../build/$(dir); $(MAKE) -C $(dir) profile;)
|
||||
|
||||
recursive:
|
||||
$(foreach dir, $(BUILD_DIRS), export BUILD_DIR=../build/$(dir); $(MAKE) -C $(dir);)
|
||||
|
||||
examples: all $(LOBJS) library
|
||||
mkdir -p build/examples
|
||||
$(foreach prog, $(EXMPS), $(CC) $(CFLAGS) $(INCS) $(prog).c -o build/$(prog) $(LIBS);)
|
||||
|
||||
check: $(ARB_LIB)
|
||||
ifndef MOD
|
||||
mkdir -p build/test
|
||||
$(foreach prog, $(TESTS), $(CC) $(CFLAGS) $(INCS) $(prog).c -o build/$(prog) $(LIBS);)
|
||||
$(foreach prog, $(TESTS), build/$(prog);)
|
||||
$(foreach dir, $(BUILD_DIRS), mkdir -p build/$(dir)/test; export BUILD_DIR=../build/$(dir); $(MAKE) -C $(dir) check;)
|
||||
$(AT)$(foreach prog, $(PROFS), $(CC) $(ABI_FLAG) -std=c99 -O2 -g $(INCS) $(prog).c build/profiler.o -o build/$(prog) $(LIBS) || exit $$?;)
|
||||
$(AT)$(foreach dir, $(BUILD_DIRS), mkdir -p build/$(dir)/profile; BUILD_DIR=../build/$(dir); export BUILD_DIR; $(MAKE) -f ../Makefile.subdirs -C $(dir) profile || exit $$?;)
|
||||
$(AT)$(foreach ext, $(EXTENSIONS), $(foreach dir, $(patsubst $(ext)/%.h, %, $(wildcard $(ext)/*.h)), mkdir -p build/$(dir)/profile; BUILD_DIR=$(CURDIR)/build/$(dir); export BUILD_DIR; MOD_DIR=$(dir); export MOD_DIR; $(MAKE) -f $(CURDIR)/Makefile.subdirs -C $(ext)/$(dir) profile || exit $$?;))
|
||||
else
|
||||
$(foreach dir, $(MOD), mkdir -p build/$(dir)/test; export BUILD_DIR=../build/$(dir); $(MAKE) -C $(dir) check;)
|
||||
$(AT)$(foreach dir, $(MOD), mkdir -p build/$(dir)/profile; BUILD_DIR=../build/$(dir); export BUILD_DIR; $(MAKE) -f ../Makefile.subdirs -C $(dir) profile || exit $$?;)
|
||||
endif
|
||||
|
||||
library: library-recursive $(OBJS) $(LIB_OBJS)
|
||||
mkdir -p build
|
||||
ifdef ARB_SHARED
|
||||
$(CC) -fPIC -shared $(LIB_OBJS) $(LIBS2) -o $(ARB_LIB)
|
||||
endif
|
||||
ifdef ARB_STATIC
|
||||
$(AR) rcs libarb.a $(OBJS) $(LINKLIBS)
|
||||
tune: library $(TUNE_SOURCES) $(EXT_TUNE_SOURCES)
|
||||
mkdir -p build/tune
|
||||
$(AT)$(foreach prog, $(TUNE), $(CC) $(CFLAGS) $(INCS) $(prog).c -o build/$(prog) $(LIBS) || exit $$?;)
|
||||
$(AT)$(foreach dir, $(BUILD_DIRS), mkdir -p build/$(dir)/tune; BUILD_DIR=../build/$(dir); export BUILD_DIR; $(MAKE) -f ../Makefile.subdirs -C $(dir) tune || exit $$?;)
|
||||
$(AT)$(foreach ext, $(EXTENSIONS), $(foreach dir, $(patsubst $(ext)/%.h, %, $(wildcard $(ext)/*.h)), mkdir -p build/$(dir)/tune; BUILD_DIR=$(CURDIR)/build/$(dir); export BUILD_DIR; MOD_DIR=$(dir); export MOD_DIR; $(MAKE) -f $(CURDIR)/Makefile.subdirs -C $(ext)/$(dir) tune || exit $$?;))
|
||||
|
||||
examples: library $(EXMP_SOURCES)
|
||||
mkdir -p build/examples
|
||||
$(AT)$(foreach prog, $(EXMPS), $(CC) $(CFLAGS) $(INCS) $(prog).c -o build/$(prog) $(LIBS) || exit $$?;)
|
||||
|
||||
$(ARB_LIB): $(LOBJS) $(LIB_SOURCES) $(EXT_SOURCES) $(HEADERS) $(EXT_HEADERS) | build build/interfaces
|
||||
$(AT)$(foreach ext, $(EXTENSIONS), $(foreach dir, $(patsubst $(ext)/%.h, %, $(wildcard $(ext)/*.h)), mkdir -p build/$(dir); BUILD_DIR=$(CURDIR)/build/$(dir); export BUILD_DIR; MOD_DIR=$(dir); export MOD_DIR; $(MAKE) -f $(CURDIR)/Makefile.subdirs -C $(ext)/$(dir) shared || exit $$?;))
|
||||
$(AT)$(foreach dir, $(BUILD_DIRS), mkdir -p build/$(dir); BUILD_DIR=../build/$(dir); export BUILD_DIR; MOD_DIR=$(dir); export MOD_DIR; $(MAKE) -f ../Makefile.subdirs -C $(dir) shared || exit $$?;)
|
||||
$(AT)if [ "$(WANT_NTL)" -eq "1" ]; then \
|
||||
$(MAKE) build/interfaces/NTL-interface.lo; \
|
||||
$(CXX) $(ABI_FLAG) -shared $(EXTRA_SHARED_FLAGS) build/interfaces/NTL-interface.lo $(LOBJS) $(MOD_LOBJS) $(EXT_OBJS) $(LIBS2) -o $(ARB_LIB); \
|
||||
fi
|
||||
$(AT)if [ "$(WANT_NTL)" -ne "1" ]; then \
|
||||
$(CC) $(ABI_FLAG) -shared $(EXTRA_SHARED_FLAGS) $(LOBJS) $(MOD_LOBJS) $(EXT_OBJS) $(LIBS2) -o $(ARB_LIB); \
|
||||
fi
|
||||
|
||||
libarb.a: $(OBJS) $(LIB_SOURCES) $(EXT_SOURCES) $(HEADERS) $(EXT_HEADERS) | build build/interfaces
|
||||
$(AT)$(foreach ext, $(EXTENSIONS), $(foreach dir, $(patsubst $(ext)/%.h, %, $(wildcard $(ext)/*.h)), mkdir -p build/$(dir); BUILD_DIR=$(CURDIR)/build/$(dir); export BUILD_DIR; MOD_DIR=$(dir); export MOD_DIR; $(MAKE) -f $(CURDIR)/Makefile.subdirs -C $(ext)/$(dir) static || exit $$?;))
|
||||
$(AT)$(foreach dir, $(BUILD_DIRS), mkdir -p build/$(dir); BUILD_DIR=../build/$(dir); export BUILD_DIR; MOD_DIR=$(dir); export MOD_DIR; $(MAKE) -f ../Makefile.subdirs -C $(dir) static || exit $$?;)
|
||||
$(AT)if [ "$(ARB_SHARED)" -eq "0" ]; then \
|
||||
touch test/t-*.c; \
|
||||
$(foreach dir, $(BUILD_DIRS), touch $(dir)/test/t-*.c;) \
|
||||
$(foreach ext, $(EXTENSIONS), $(foreach mod, $(patsubst $(ext)/%.h, %, $(wildcard $(ext)/*.h)), touch $(ext)/$(mod)/test/t-*.c;)) \
|
||||
fi
|
||||
$(AT)if [ "$(WANT_NTL)" -eq "1" ]; then \
|
||||
$(MAKE) build/interfaces/NTL-interface.o; \
|
||||
$(AR) rcs libarb.a build/interfaces/NTL-interface.o; \
|
||||
fi
|
||||
$(QUIET_AR) $(AR) rcs libarb.a $(OBJS);
|
||||
$(AT)$(foreach mod, $(BUILD_DIRS), $(AR) rcs libarb.a build/$(mod)/*.o || exit $$?;)
|
||||
$(AT)$(foreach ext, $(EXTENSIONS), $(foreach mod, $(patsubst $(ext)/%.h, %, $(wildcard $(ext)/*.h)), $(AR) rcs libarb.a build/$(mod)/*.o || exit $$?;))
|
||||
|
||||
library:
|
||||
$(AT)if [ "$(ARB_SHARED)" -eq "1" ]; then \
|
||||
$(MAKE) shared; \
|
||||
fi
|
||||
$(AT)if [ "$(ARB_STATIC)" -eq "1" ]; then \
|
||||
$(MAKE) static; \
|
||||
fi
|
||||
|
||||
shared: $(ARB_LIB)
|
||||
|
||||
static: libarb.a
|
||||
|
||||
tests: library $(TESTS)
|
||||
$(AT)$(foreach dir, $(BUILD_DIRS), mkdir -p build/$(dir)/test; BUILD_DIR=../build/$(dir); export BUILD_DIR; $(MAKE) -f ../Makefile.subdirs -C $(dir) tests || exit $$?;)
|
||||
$(AT)$(foreach ext, $(EXTENSIONS), $(foreach dir, $(patsubst $(ext)/%.h, %, $(wildcard $(ext)/*.h)), mkdir -p build/$(dir)/test; BUILD_DIR=$(CURDIR)/build/$(dir); export BUILD_DIR; MOD_DIR=$(dir); export MOD_DIR; $(MAKE) -f $(CURDIR)/Makefile.subdirs -C $(ext)/$(dir) tests || exit $$?;))
|
||||
mkdir -p build/interfaces/test
|
||||
$(AT)if [ "$(WANT_NTL)" -eq "1" ]; then \
|
||||
$(MAKE) build/interfaces/test/t-NTL-interface; \
|
||||
fi
|
||||
|
||||
check: library
|
||||
ifndef MOD
|
||||
$(AT)$(MAKE) $(TESTS)
|
||||
$(AT)$(foreach prog, $(TESTS), $(prog) || exit $$?;)
|
||||
$(AT)$(foreach ext, $(EXTENSIONS), $(foreach dir, $(patsubst $(ext)/%.h, %, $(wildcard $(ext)/*.h)), mkdir -p build/$(dir)/test; BUILD_DIR=$(CURDIR)/build/$(dir); export BUILD_DIR; MOD_DIR=$(dir); export MOD_DIR; $(MAKE) -f $(CURDIR)/Makefile.subdirs -C $(ext)/$(dir) check || exit $$?;))
|
||||
$(AT)$(foreach dir, $(BUILD_DIRS), mkdir -p build/$(dir)/test; BUILD_DIR=../build/$(dir); export BUILD_DIR; $(MAKE) -f ../Makefile.subdirs -C $(dir) check || exit $$?;)
|
||||
mkdir -p build/interfaces/test
|
||||
$(AT)if [ "$(WANT_NTL)" -eq "1" ]; then \
|
||||
$(MAKE) build/interfaces/test/t-NTL-interface; \
|
||||
build/interfaces/test/t-NTL-interface; \
|
||||
fi
|
||||
else
|
||||
$(AT)$(foreach dir, $(MOD), test ! -d $(dir) || mkdir -p build/$(dir)/test; BUILD_DIR=../build/$(dir); export BUILD_DIR; test ! -d $(dir) || $(MAKE) -f ../Makefile.subdirs -C $(dir) check || exit $$?;)
|
||||
$(AT)$(foreach ext, $(EXTENSIONS), $(AT)$(foreach dir, $(MOD), MOD_DIR=$(dir); export MOD_DIR; test ! -d $(ext)/$(dir) || mkdir -p build/$(dir)/test; BUILD_DIR=$(CURDIR)/build/$(dir); export BUILD_DIR; test ! -d $(ext)/$(dir) || $(MAKE) -f $(CURDIR)/Makefile.subdirs -C $(ext)/$(dir) check || exit $$?;))
|
||||
endif
|
||||
|
||||
library-recursive:
|
||||
$(foreach dir, $(BUILD_DIRS), mkdir -p build/$(dir); export BUILD_DIR=../build/$(dir); $(MAKE) -C $(dir) library;)
|
||||
|
||||
$(ARB_LIB): library
|
||||
valgrind: library
|
||||
ifndef MOD
|
||||
$(AT)$(foreach dir, $(BUILD_DIRS), mkdir -p build/$(dir)/test; BUILD_DIR=../build/$(dir); export BUILD_DIR; $(MAKE) -f ../Makefile.subdirs -C $(dir) valgrind || exit $$?;)
|
||||
$(AT)$(foreach ext, $(EXTENSIONS), $(foreach dir, $(patsubst $(ext)/%.h, %, $(wildcard $(ext)/*.h)), mkdir -p build/$(dir)/test; BUILD_DIR=$(CURDIR)/build/$(dir); export BUILD_DIR; MOD_DIR=$(dir); export MOD_DIR; $(MAKE) -f $(CURDIR)/Makefile.subdirs -C $(ext)/$(dir) valgrind || exit $$?;))
|
||||
else
|
||||
$(AT)$(foreach dir, $(MOD), mkdir -p build/$(dir)/test; BUILD_DIR=../build/$(dir); export BUILD_DIR; $(MAKE) -f ../Makefile.subdirs -C $(dir) valgrind || exit $$?;)
|
||||
endif
|
||||
|
||||
install: library
|
||||
mkdir -p $(PREFIX)/lib
|
||||
mkdir -p $(PREFIX)/include
|
||||
ifdef ARB_SHARED
|
||||
cp $(ARB_LIB) $(PREFIX)/lib
|
||||
endif
|
||||
ifdef ARB_STATIC
|
||||
cp libarb.a $(PREFIX)/lib
|
||||
endif
|
||||
cp *.h $(PREFIX)/include
|
||||
mkdir -p $(DESTDIR)$(PREFIX)/lib
|
||||
mkdir -p $(DESTDIR)$(PREFIX)/include/arb
|
||||
$(AT)if [ "$(ARB_SHARED)" -eq "1" ]; then \
|
||||
cp $(ARB_LIB) $(DESTDIR)$(PREFIX)/lib; \
|
||||
fi
|
||||
$(AT)if [ "$(ARB_STATIC)" -eq "1" ]; then \
|
||||
cp libarb.a $(DESTDIR)$(PREFIX)/lib; \
|
||||
fi
|
||||
cp $(HEADERS) $(DESTDIR)$(PREFIX)/include/arb
|
||||
$(AT)if [ ! -z $(EXT_HEADERS) ]; then \
|
||||
cp $(EXT_HEADERS) $(DESTDIR)$(PREFIX)/include; \
|
||||
fi
|
||||
|
||||
.PHONY: profile library library-recursive recursive clean check check-recursive all
|
||||
build:
|
||||
mkdir -p build
|
||||
|
||||
build/%.lo: %.c
|
||||
$(CC) -fPIC $(CFLAGS) $(INCS) -c $< -o $@
|
||||
build/%.lo: %.c $(HEADERS) | build
|
||||
$(QUIET_CC) $(CC) $(PIC_FLAG) $(CFLAGS) $(INCS) -c $< -o $@;
|
||||
|
||||
build/%.o: %.c
|
||||
$(CC) -fPIC $(CFLAGS) $(INCS) -c $< -o $@
|
||||
build/%.o: %.c $(HEADERS) | build
|
||||
$(QUIET_CC) $(CC) $(CFLAGS) $(INCS) -c $< -o $@;
|
||||
|
||||
BUILD_DIRS = fmpr arf mag arb arb_mat arb_poly arb_calc acb acb_mat acb_poly acb_calc fmprb fmprb_poly fmprb_mat fmprb_calc fmpcb fmpcb_poly fmpcb_mat fmpcb_calc elefun bernoulli hypgeom gamma zeta fmpz_extras partitions
|
||||
build/test/%$(EXEEXT): test/%.c $(HEADERS) | build/test
|
||||
$(QUIET_CC) $(CC) $(CFLAGS) $(INCS) $< -o $@ $(LIBS)
|
||||
|
||||
build/test:
|
||||
mkdir -p build/test
|
||||
|
||||
build/interfaces:
|
||||
mkdir -p build/interfaces
|
||||
|
||||
print-%:
|
||||
@echo '$*=$($*)'
|
||||
|
||||
.PHONY: profile library shared static clean examples tune check tests distclean dist install all valgrind
|
||||
|
||||
|
|
89
Makefile.subdirs
Normal file
89
Makefile.subdirs
Normal file
|
@ -0,0 +1,89 @@
|
|||
QUIET_CC = @echo ' ' CC ' ' $@;
|
||||
|
||||
AT=@
|
||||
|
||||
SOURCES = $(wildcard *.c)
|
||||
|
||||
HEADERS = $(wildcard ../*.h)
|
||||
TEST_HEADERS = $(wildcard *.h)
|
||||
|
||||
OBJS = $(patsubst %.c, $(BUILD_DIR)/$(MOD_DIR)_%.o, $(SOURCES))
|
||||
|
||||
LOBJS = $(patsubst %.c, $(BUILD_DIR)/%.lo, $(SOURCES))
|
||||
MOD_LOBJ = $(BUILD_DIR)/../$(MOD_DIR).lo
|
||||
|
||||
TEST_SOURCES = $(wildcard test/*.c)
|
||||
TESTXX_SOURCES = $(wildcard test/*.cpp)
|
||||
|
||||
PROF_SOURCES = $(wildcard profile/*.c)
|
||||
|
||||
TUNE_SOURCES = $(wildcard tune/*.c)
|
||||
|
||||
TESTS = $(patsubst %.c, $(BUILD_DIR)/%$(EXEEXT), $(TEST_SOURCES)) \
|
||||
$(patsubst %.cpp, $(BUILD_DIR)/%$(EXEEXT), $(TESTXX_SOURCES))
|
||||
|
||||
TESTS_RUN = $(patsubst %, %_RUN, $(TESTS))
|
||||
|
||||
VALGRIND_RUN = $(patsubst %, %_VALGRIND_RUN, $(TESTS))
|
||||
|
||||
PROFS = $(patsubst %.c, $(BUILD_DIR)/%$(EXEEXT), $(PROF_SOURCES))
|
||||
|
||||
TUNE = $(patsubst %.c, %$(EXEEXT), $(TUNE_SOURCES))
|
||||
|
||||
all: shared static
|
||||
|
||||
shared: $(MOD_LOBJ)
|
||||
|
||||
static: $(OBJS)
|
||||
|
||||
profile: $(PROFS)
|
||||
|
||||
-include $(patsubst %, %.d, $(PROFS))
|
||||
|
||||
$(BUILD_DIR)/profile/%$(EXEEXT): profile/%.c $(BUILD_DIR)/../profiler.o
|
||||
$(QUIET_CC) $(CC) $(ABI_FLAG) -O2 -std=c99 -g $(INCS) $< $(BUILD_DIR)/../profiler.o -o $@ $(LIBS) -MMD -MP -MF $@.d -MT "$@" -MT "$@.d"
|
||||
|
||||
tune: $(TUNE_SOURCES) $(HEADERS)
|
||||
$(AT)$(foreach prog, $(TUNE), $(CC) $(CFLAGS) $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) || exit $$?;)
|
||||
|
||||
-include $(OBJS:.o=.d)
|
||||
|
||||
$(BUILD_DIR)/$(MOD_DIR)_%.o: %.c
|
||||
$(QUIET_CC) $(CC) $(CFLAGS) $(INCS) -c $< -o $@ -MMD -MP -MF "$(BUILD_DIR)/$(MOD_DIR)_$*.d" -MT "$(BUILD_DIR)/$(MOD_DIR)_$*.d" -MT "$@"
|
||||
|
||||
$(MOD_LOBJ): $(LOBJS)
|
||||
$(QUIET_CC) $(CC) $(ABI_FLAG) -Wl,-r $^ -o $@ -nostdlib
|
||||
|
||||
-include $(LOBJS:.lo=.d)
|
||||
|
||||
$(BUILD_DIR)/%.lo: %.c
|
||||
$(QUIET_CC) $(CC) $(PIC_FLAG) $(CFLAGS) $(INCS) -c $< -o $@ -MMD -MP -MF "$(BUILD_DIR)/$*.d" -MT "$(BUILD_DIR)/$*.d" -MT "$@"
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR) $(MOD_LOBJ)
|
||||
|
||||
tests: $(TESTS)
|
||||
|
||||
check: tests $(TESTS_RUN)
|
||||
|
||||
valgrind: tests $(VALGRIND_RUN)
|
||||
|
||||
-include $(patsubst %, %.d, $(TESTS))
|
||||
|
||||
ifeq ($(ARB_SHARED), 0)
|
||||
$(BUILD_DIR)/test/%$(EXEEXT): $(BUILD_DIR)/../../libarb.a
|
||||
endif
|
||||
|
||||
$(BUILD_DIR)/test/%$(EXEEXT): test/%.c
|
||||
$(QUIET_CC) $(CC) $(CFLAGS) $(INCS) $< -o $@ $(LIBS) -MMD -MP -MF $@.d -MT "$@" -MT "$@.d"
|
||||
|
||||
$(BUILD_DIR)/test/%$(EXEEXT): test/%.cpp $(BUILD_DIR)/../../test_helpers.o
|
||||
$(QUIET_CC) $(CXX) $(CFLAGS) $(INCS) $< -o $@ $(LIBS) -MMD -MP -MF $@.d -MT "$@" -MT "$@.d"
|
||||
|
||||
%_RUN: %
|
||||
@$<
|
||||
|
||||
%_VALGRIND_RUN: %
|
||||
valgrind --track-origins=yes --leak-check=full --show-reachable=yes --log-file="$*.valgrind" $<
|
||||
|
||||
.PHONY: profile tune clean check tests all shared static valgrind %_RUN %_VALGRIND_RUN
|
43
acb/Makefile
43
acb/Makefile
|
@ -1,43 +0,0 @@
|
|||
SOURCES = $(wildcard *.c)
|
||||
|
||||
OBJS = $(patsubst %.c, $(BUILD_DIR)/%.o, $(SOURCES))
|
||||
|
||||
LIB_OBJS = $(patsubst %.c, $(BUILD_DIR)/%.lo, $(SOURCES))
|
||||
|
||||
TEST_SOURCES = $(wildcard test/*.c)
|
||||
|
||||
PROF_SOURCES = $(wildcard profile/*.c)
|
||||
|
||||
TUNE_SOURCES = $(wildcard tune/*.c)
|
||||
|
||||
TESTS = $(patsubst %.c, %, $(TEST_SOURCES))
|
||||
|
||||
PROFS = $(patsubst %.c, %, $(PROF_SOURCES))
|
||||
|
||||
TUNE = $(patsubst %.c, %, $(TUNE_SOURCES))
|
||||
|
||||
all: $(OBJS)
|
||||
|
||||
library: $(LIB_OBJS)
|
||||
|
||||
profile:
|
||||
$(foreach prog, $(PROFS), $(CC) -O2 -std=c99 $(INCS) $(prog).c ../profiler.o -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
tune: $(TUNE_SOURCES)
|
||||
$(foreach prog, $(TUNE), $(CC) -O2 -std=c99 $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
$(BUILD_DIR)/%.o: %.c
|
||||
$(CC) $(CFLAGS) -c $(INCS) $< -o $@
|
||||
|
||||
$(BUILD_DIR)/%.lo: %.c
|
||||
$(CC) -fPIC $(CFLAGS) $(INCS) -c $< -o $@
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR)
|
||||
|
||||
check: library
|
||||
$(foreach prog, $(TESTS), $(CC) $(CFLAGS) $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
$(foreach prog, $(TESTS), $(BUILD_DIR)/$(prog);)
|
||||
|
||||
.PHONY: profile clean check all
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
SOURCES = $(wildcard *.c)
|
||||
|
||||
OBJS = $(patsubst %.c, $(BUILD_DIR)/%.o, $(SOURCES))
|
||||
|
||||
LIB_OBJS = $(patsubst %.c, $(BUILD_DIR)/%.lo, $(SOURCES))
|
||||
|
||||
TEST_SOURCES = $(wildcard test/*.c)
|
||||
|
||||
PROF_SOURCES = $(wildcard profile/*.c)
|
||||
|
||||
TUNE_SOURCES = $(wildcard tune/*.c)
|
||||
|
||||
TESTS = $(patsubst %.c, %, $(TEST_SOURCES))
|
||||
|
||||
PROFS = $(patsubst %.c, %, $(PROF_SOURCES))
|
||||
|
||||
TUNE = $(patsubst %.c, %, $(TUNE_SOURCES))
|
||||
|
||||
all: $(OBJS)
|
||||
|
||||
library: $(LIB_OBJS)
|
||||
|
||||
profile:
|
||||
$(foreach prog, $(PROFS), $(CC) -O2 -std=c99 $(INCS) $(prog).c ../profiler.o -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
tune: $(TUNE_SOURCES)
|
||||
$(foreach prog, $(TUNE), $(CC) -O2 -std=c99 $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
$(BUILD_DIR)/%.o: %.c
|
||||
$(CC) $(CFLAGS) -c $(INCS) $< -o $@
|
||||
|
||||
$(BUILD_DIR)/%.lo: %.c
|
||||
$(CC) -fPIC $(CFLAGS) $(INCS) -c $< -o $@
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR)
|
||||
|
||||
check: library
|
||||
$(foreach prog, $(TESTS), $(CC) $(CFLAGS) $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
$(foreach prog, $(TESTS), $(BUILD_DIR)/$(prog);)
|
||||
|
||||
.PHONY: profile clean check all
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
SOURCES = $(wildcard *.c)
|
||||
|
||||
OBJS = $(patsubst %.c, $(BUILD_DIR)/%.o, $(SOURCES))
|
||||
|
||||
LIB_OBJS = $(patsubst %.c, $(BUILD_DIR)/%.lo, $(SOURCES))
|
||||
|
||||
TEST_SOURCES = $(wildcard test/*.c)
|
||||
|
||||
PROF_SOURCES = $(wildcard profile/*.c)
|
||||
|
||||
TUNE_SOURCES = $(wildcard tune/*.c)
|
||||
|
||||
TESTS = $(patsubst %.c, %, $(TEST_SOURCES))
|
||||
|
||||
PROFS = $(patsubst %.c, %, $(PROF_SOURCES))
|
||||
|
||||
TUNE = $(patsubst %.c, %, $(TUNE_SOURCES))
|
||||
|
||||
all: $(OBJS)
|
||||
|
||||
library: $(LIB_OBJS)
|
||||
|
||||
profile:
|
||||
$(foreach prog, $(PROFS), $(CC) -O2 -std=c99 $(INCS) $(prog).c ../profiler.o -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
tune: $(TUNE_SOURCES)
|
||||
$(foreach prog, $(TUNE), $(CC) -O2 -std=c99 $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
$(BUILD_DIR)/%.o: %.c
|
||||
$(CC) $(CFLAGS) -c $(INCS) $< -o $@
|
||||
|
||||
$(BUILD_DIR)/%.lo: %.c
|
||||
$(CC) -fPIC $(CFLAGS) $(INCS) -c $< -o $@
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR)
|
||||
|
||||
check: library
|
||||
$(foreach prog, $(TESTS), $(CC) $(CFLAGS) $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
$(foreach prog, $(TESTS), $(BUILD_DIR)/$(prog);)
|
||||
|
||||
.PHONY: profile clean check all
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
SOURCES = $(wildcard *.c)
|
||||
|
||||
OBJS = $(patsubst %.c, $(BUILD_DIR)/%.o, $(SOURCES))
|
||||
|
||||
LIB_OBJS = $(patsubst %.c, $(BUILD_DIR)/%.lo, $(SOURCES))
|
||||
|
||||
TEST_SOURCES = $(wildcard test/*.c)
|
||||
|
||||
PROF_SOURCES = $(wildcard profile/*.c)
|
||||
|
||||
TUNE_SOURCES = $(wildcard tune/*.c)
|
||||
|
||||
TESTS = $(patsubst %.c, %, $(TEST_SOURCES))
|
||||
|
||||
PROFS = $(patsubst %.c, %, $(PROF_SOURCES))
|
||||
|
||||
TUNE = $(patsubst %.c, %, $(TUNE_SOURCES))
|
||||
|
||||
all: $(OBJS)
|
||||
|
||||
library: $(LIB_OBJS)
|
||||
|
||||
profile:
|
||||
$(foreach prog, $(PROFS), $(CC) -O2 -std=c99 $(INCS) $(prog).c ../profiler.o -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
tune: $(TUNE_SOURCES)
|
||||
$(foreach prog, $(TUNE), $(CC) -O2 -std=c99 $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
$(BUILD_DIR)/%.o: %.c
|
||||
$(CC) $(CFLAGS) -c $(INCS) $< -o $@
|
||||
|
||||
$(BUILD_DIR)/%.lo: %.c
|
||||
$(CC) -fPIC $(CFLAGS) $(INCS) -c $< -o $@
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR)
|
||||
|
||||
check: library
|
||||
$(foreach prog, $(TESTS), $(CC) $(CFLAGS) $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
$(foreach prog, $(TESTS), $(BUILD_DIR)/$(prog);)
|
||||
|
||||
.PHONY: profile clean check all
|
||||
|
43
arb/Makefile
43
arb/Makefile
|
@ -1,43 +0,0 @@
|
|||
SOURCES = $(wildcard *.c)
|
||||
|
||||
OBJS = $(patsubst %.c, $(BUILD_DIR)/%.o, $(SOURCES))
|
||||
|
||||
LIB_OBJS = $(patsubst %.c, $(BUILD_DIR)/%.lo, $(SOURCES))
|
||||
|
||||
TEST_SOURCES = $(wildcard test/*.c)
|
||||
|
||||
PROF_SOURCES = $(wildcard profile/*.c)
|
||||
|
||||
TUNE_SOURCES = $(wildcard tune/*.c)
|
||||
|
||||
TESTS = $(patsubst %.c, %, $(TEST_SOURCES))
|
||||
|
||||
PROFS = $(patsubst %.c, %, $(PROF_SOURCES))
|
||||
|
||||
TUNE = $(patsubst %.c, %, $(TUNE_SOURCES))
|
||||
|
||||
all: $(OBJS)
|
||||
|
||||
library: $(LIB_OBJS)
|
||||
|
||||
profile:
|
||||
$(foreach prog, $(PROFS), $(CC) -O2 -std=c99 $(INCS) $(prog).c ../profiler.o -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
tune: $(TUNE_SOURCES)
|
||||
$(foreach prog, $(TUNE), $(CC) -O2 -std=c99 $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
$(BUILD_DIR)/%.o: %.c
|
||||
$(CC) $(CFLAGS) -c $(INCS) $< -o $@
|
||||
|
||||
$(BUILD_DIR)/%.lo: %.c
|
||||
$(CC) -fPIC $(CFLAGS) $(INCS) -c $< -o $@
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR)
|
||||
|
||||
check: library
|
||||
$(foreach prog, $(TESTS), $(CC) $(CFLAGS) $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
$(foreach prog, $(TESTS), $(BUILD_DIR)/$(prog);)
|
||||
|
||||
.PHONY: profile clean check all
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
SOURCES = $(wildcard *.c)
|
||||
|
||||
OBJS = $(patsubst %.c, $(BUILD_DIR)/%.o, $(SOURCES))
|
||||
|
||||
LIB_OBJS = $(patsubst %.c, $(BUILD_DIR)/%.lo, $(SOURCES))
|
||||
|
||||
TEST_SOURCES = $(wildcard test/*.c)
|
||||
|
||||
PROF_SOURCES = $(wildcard profile/*.c)
|
||||
|
||||
TUNE_SOURCES = $(wildcard tune/*.c)
|
||||
|
||||
TESTS = $(patsubst %.c, %, $(TEST_SOURCES))
|
||||
|
||||
PROFS = $(patsubst %.c, %, $(PROF_SOURCES))
|
||||
|
||||
TUNE = $(patsubst %.c, %, $(TUNE_SOURCES))
|
||||
|
||||
all: $(OBJS)
|
||||
|
||||
library: $(LIB_OBJS)
|
||||
|
||||
profile:
|
||||
$(foreach prog, $(PROFS), $(CC) -O2 -std=c99 $(INCS) $(prog).c ../profiler.o -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
tune: $(TUNE_SOURCES)
|
||||
$(foreach prog, $(TUNE), $(CC) -O2 -std=c99 $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
$(BUILD_DIR)/%.o: %.c
|
||||
$(CC) $(CFLAGS) -c $(INCS) $< -o $@
|
||||
|
||||
$(BUILD_DIR)/%.lo: %.c
|
||||
$(CC) -fPIC $(CFLAGS) $(INCS) -c $< -o $@
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR)
|
||||
|
||||
check: library
|
||||
$(foreach prog, $(TESTS), $(CC) $(CFLAGS) $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
$(foreach prog, $(TESTS), $(BUILD_DIR)/$(prog);)
|
||||
|
||||
.PHONY: profile clean check all
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
SOURCES = $(wildcard *.c)
|
||||
|
||||
OBJS = $(patsubst %.c, $(BUILD_DIR)/%.o, $(SOURCES))
|
||||
|
||||
LIB_OBJS = $(patsubst %.c, $(BUILD_DIR)/%.lo, $(SOURCES))
|
||||
|
||||
TEST_SOURCES = $(wildcard test/*.c)
|
||||
|
||||
PROF_SOURCES = $(wildcard profile/*.c)
|
||||
|
||||
TUNE_SOURCES = $(wildcard tune/*.c)
|
||||
|
||||
TESTS = $(patsubst %.c, %, $(TEST_SOURCES))
|
||||
|
||||
PROFS = $(patsubst %.c, %, $(PROF_SOURCES))
|
||||
|
||||
TUNE = $(patsubst %.c, %, $(TUNE_SOURCES))
|
||||
|
||||
all: $(OBJS)
|
||||
|
||||
library: $(LIB_OBJS)
|
||||
|
||||
profile:
|
||||
$(foreach prog, $(PROFS), $(CC) -O2 -std=c99 $(INCS) $(prog).c ../profiler.o -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
tune: $(TUNE_SOURCES)
|
||||
$(foreach prog, $(TUNE), $(CC) -O2 -std=c99 $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
$(BUILD_DIR)/%.o: %.c
|
||||
$(CC) $(CFLAGS) -c $(INCS) $< -o $@
|
||||
|
||||
$(BUILD_DIR)/%.lo: %.c
|
||||
$(CC) -fPIC $(CFLAGS) $(INCS) -c $< -o $@
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR)
|
||||
|
||||
check: library
|
||||
$(foreach prog, $(TESTS), $(CC) $(CFLAGS) $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
$(foreach prog, $(TESTS), $(BUILD_DIR)/$(prog);)
|
||||
|
||||
.PHONY: profile clean check all
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
SOURCES = $(wildcard *.c)
|
||||
|
||||
OBJS = $(patsubst %.c, $(BUILD_DIR)/%.o, $(SOURCES))
|
||||
|
||||
LIB_OBJS = $(patsubst %.c, $(BUILD_DIR)/%.lo, $(SOURCES))
|
||||
|
||||
TEST_SOURCES = $(wildcard test/*.c)
|
||||
|
||||
PROF_SOURCES = $(wildcard profile/*.c)
|
||||
|
||||
TUNE_SOURCES = $(wildcard tune/*.c)
|
||||
|
||||
TESTS = $(patsubst %.c, %, $(TEST_SOURCES))
|
||||
|
||||
PROFS = $(patsubst %.c, %, $(PROF_SOURCES))
|
||||
|
||||
TUNE = $(patsubst %.c, %, $(TUNE_SOURCES))
|
||||
|
||||
all: $(OBJS)
|
||||
|
||||
library: $(LIB_OBJS)
|
||||
|
||||
profile:
|
||||
$(foreach prog, $(PROFS), $(CC) -O2 -std=c99 $(INCS) $(prog).c ../profiler.o -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
tune: $(TUNE_SOURCES)
|
||||
$(foreach prog, $(TUNE), $(CC) -O2 -std=c99 $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
$(BUILD_DIR)/%.o: %.c
|
||||
$(CC) $(CFLAGS) -c $(INCS) $< -o $@
|
||||
|
||||
$(BUILD_DIR)/%.lo: %.c
|
||||
$(CC) -fPIC $(CFLAGS) $(INCS) -c $< -o $@
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR)
|
||||
|
||||
check: library
|
||||
$(foreach prog, $(TESTS), $(CC) $(CFLAGS) $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
$(foreach prog, $(TESTS), $(BUILD_DIR)/$(prog);)
|
||||
|
||||
.PHONY: profile clean check all
|
||||
|
43
arf/Makefile
43
arf/Makefile
|
@ -1,43 +0,0 @@
|
|||
SOURCES = $(wildcard *.c)
|
||||
|
||||
OBJS = $(patsubst %.c, $(BUILD_DIR)/%.o, $(SOURCES))
|
||||
|
||||
LIB_OBJS = $(patsubst %.c, $(BUILD_DIR)/%.lo, $(SOURCES))
|
||||
|
||||
TEST_SOURCES = $(wildcard test/*.c)
|
||||
|
||||
PROF_SOURCES = $(wildcard profile/*.c)
|
||||
|
||||
TUNE_SOURCES = $(wildcard tune/*.c)
|
||||
|
||||
TESTS = $(patsubst %.c, %, $(TEST_SOURCES))
|
||||
|
||||
PROFS = $(patsubst %.c, %, $(PROF_SOURCES))
|
||||
|
||||
TUNE = $(patsubst %.c, %, $(TUNE_SOURCES))
|
||||
|
||||
all: $(OBJS)
|
||||
|
||||
library: $(LIB_OBJS)
|
||||
|
||||
profile:
|
||||
$(foreach prog, $(PROFS), $(CC) -O2 -std=c99 $(INCS) $(prog).c ../profiler.o -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
tune: $(TUNE_SOURCES)
|
||||
$(foreach prog, $(TUNE), $(CC) -O2 -std=c99 $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
$(BUILD_DIR)/%.o: %.c
|
||||
$(CC) $(CFLAGS) -c $(INCS) $< -o $@
|
||||
|
||||
$(BUILD_DIR)/%.lo: %.c
|
||||
$(CC) -fPIC $(CFLAGS) $(INCS) -c $< -o $@
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR)
|
||||
|
||||
check: library
|
||||
$(foreach prog, $(TESTS), $(CC) $(CFLAGS) $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
$(foreach prog, $(TESTS), $(BUILD_DIR)/$(prog);)
|
||||
|
||||
.PHONY: profile clean check all
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
SOURCES = $(wildcard *.c)
|
||||
|
||||
OBJS = $(patsubst %.c, $(BUILD_DIR)/%.o, $(SOURCES))
|
||||
|
||||
LIB_OBJS = $(patsubst %.c, $(BUILD_DIR)/%.lo, $(SOURCES))
|
||||
|
||||
TEST_SOURCES = $(wildcard test/*.c)
|
||||
|
||||
PROF_SOURCES = $(wildcard profile/*.c)
|
||||
|
||||
TUNE_SOURCES = $(wildcard tune/*.c)
|
||||
|
||||
TESTS = $(patsubst %.c, %, $(TEST_SOURCES))
|
||||
|
||||
PROFS = $(patsubst %.c, %, $(PROF_SOURCES))
|
||||
|
||||
TUNE = $(patsubst %.c, %, $(TUNE_SOURCES))
|
||||
|
||||
all: $(OBJS)
|
||||
|
||||
library: $(LIB_OBJS)
|
||||
|
||||
profile:
|
||||
$(foreach prog, $(PROFS), $(CC) -O2 -std=c99 $(INCS) $(prog).c ../profiler.o -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
tune: $(TUNE_SOURCES)
|
||||
$(foreach prog, $(TUNE), $(CC) -O2 -std=c99 $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
$(BUILD_DIR)/%.o: %.c
|
||||
$(CC) $(CFLAGS) -c $(INCS) $< -o $@
|
||||
|
||||
$(BUILD_DIR)/%.lo: %.c
|
||||
$(CC) -fPIC $(CFLAGS) $(INCS) -c $< -o $@
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR)
|
||||
|
||||
check: library
|
||||
$(foreach prog, $(TESTS), $(CC) $(CFLAGS) $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
$(foreach prog, $(TESTS), $(BUILD_DIR)/$(prog);)
|
||||
|
||||
.PHONY: profile clean check all
|
||||
|
8
config.h
Normal file
8
config.h
Normal file
|
@ -0,0 +1,8 @@
|
|||
/* This file is autogenerated by ./configure -- do not edit! */
|
||||
#define POPCNT_INTRINSICS
|
||||
#define HAVE_BLAS 0
|
||||
#define HAVE_TLS 1
|
||||
#define HAVE_PTHREAD 1
|
||||
#define HAVE_GC 0
|
||||
#define ARB_REENTRANT 0
|
||||
#define WANT_ASSERT 0
|
641
configure
vendored
641
configure
vendored
|
@ -2,13 +2,34 @@
|
|||
|
||||
# (C) 2007, Robert Bradshaw, William Hart, William Stein, Michael Abshoff
|
||||
# (C) 2011, William Hart
|
||||
# (C) 2012, William Hart, Jean-Pierre Flori, Thomas DuBuisson
|
||||
# (C) 2012, Jan Engelhardt
|
||||
|
||||
PREFIX="/usr/local"
|
||||
GMP_DIR="/usr/local"
|
||||
MPFR_DIR="/usr/local"
|
||||
FLINT_DIR="/usr/local"
|
||||
NTL_DIR="/usr/local"
|
||||
GC_DIR="/usr/local"
|
||||
BLAS_DIR="/usr/local"
|
||||
WANT_NTL=0
|
||||
WANT_BLAS=0
|
||||
SHARED=1
|
||||
STATIC=1
|
||||
TLS=1
|
||||
PTHREAD=1
|
||||
REENTRANT=0
|
||||
WANT_GC=0
|
||||
WANT_TLS=0
|
||||
WANT_CXX=0
|
||||
ASSERT=0
|
||||
BUILD=
|
||||
EXTENSIONS=
|
||||
EXT_MODS=
|
||||
EXTRA_BUILD=
|
||||
|
||||
FLINT_CPIMPORT_DIR="$PREFIX/share/flint"
|
||||
FLINT_CPIMPORT="$FLINT_CPIMPORT_DIR/CPimport.txt"
|
||||
|
||||
usage()
|
||||
{
|
||||
|
@ -16,147 +37,611 @@ usage()
|
|||
echo " where <options> may be"
|
||||
echo " -h display usage information"
|
||||
echo " where <args> may be:"
|
||||
echo " --with-gmp=<path> Specify location of GMP"
|
||||
echo " --with-mpfr=<path> Specify location of MPFR"
|
||||
echo " --with-flint=<path> Specify location of FLINT"
|
||||
echo " --prefix=<path> Specify path to installation location"
|
||||
echo " --disable-shared Do not build a shared library"
|
||||
echo " --disable-static Do not build a static library"
|
||||
echo " CC=<name> Use the C compiler with the given name"
|
||||
echo " AR=<name> Use the AR library builder with the given name"
|
||||
echo " CFLAGS=<flags> Pass the given flags to the compiler"
|
||||
echo " --prefix=<path> Specify path to installation location (default: /usr/local)"
|
||||
echo " --with-mpir=<path> Specify location of MPIR (default: /usr/local)"
|
||||
echo " --with-gmp=<path> Specify location of GMP (default: /usr/local)"
|
||||
echo " --with-mpfr=<path> Specify location of MPFR (default: /usr/local)"
|
||||
echo " --with-flint=<path> Specify location of FLINT (default: /usr/local)"
|
||||
echo " --with-blas[=<path>] Use BLAS and specify its location (default: /usr/local)"
|
||||
echo " --without-blas Do not use BLAS (default)"
|
||||
echo " --with-ntl[=<path>] Build NTL interface and specify its location (default: /usr/local)"
|
||||
echo " --without-ntl Do not build NTL interface (default)"
|
||||
echo " --extensions=<path> Specify location of extension modules"
|
||||
echo " --build=arch-os Specify architecture/OS combination rather than use values from uname -m/-s"
|
||||
echo " --enable-shared Build a shared library (default)"
|
||||
echo " --disable-shared Do not build a shared library"
|
||||
echo " --enable-static Build a static library (default)"
|
||||
echo " --disable-static Do not build a static library"
|
||||
echo " --single Faster [non-reentrant if tls or pthread not used] version of library (default)"
|
||||
echo " --reentrant Build fully reentrant [with or without tls, with pthread] version of library"
|
||||
echo " --with-gc=<path> GC safe build with path to gc"
|
||||
echo " --enable-pthread Use pthread (default)"
|
||||
echo " --disable-pthread Do not use pthread"
|
||||
echo " --enable-tls Use thread-local storage (default)"
|
||||
echo " --disable-tls Do not use thread-local storage"
|
||||
echo " --enable-assert Enable use of asserts (use for debug builds only)"
|
||||
echo " --disable-assert Disable use of asserts (default)"
|
||||
echo " --enable-cxx Enable C++ wrapper tests"
|
||||
echo " --disable-cxx Disable C++ wrapper tests (default)"
|
||||
echo " CC=<name> Use the C compiler with the given name (default: gcc)"
|
||||
echo " CXX=<name> Use the C++ compiler with the given name (default: g++)"
|
||||
echo " AR=<name> Use the AR library builder with the given name (default: ar)"
|
||||
echo " CFLAGS=<flags> Pass the given flags to the compiler"
|
||||
echo " ABI=[32|64] Tell the compiler to use given ABI (default: empty)"
|
||||
}
|
||||
|
||||
until [ -z "$1" ]; do
|
||||
case $1 in
|
||||
"-h") usage
|
||||
while [ "$1" != "" ]; do
|
||||
PARAM=`echo $1 | sed 's/=.*//'`
|
||||
VALUE=`echo $1 | sed 's/[^=]*//; s/=//'`
|
||||
case "$PARAM" in
|
||||
-h|--help)
|
||||
usage
|
||||
exit 0
|
||||
;;
|
||||
"--with-gmp="*)
|
||||
GMP_DIR=`expr substr $1 12 length $1`
|
||||
--with-mpir|--with-gmp)
|
||||
GMP_DIR="$VALUE"
|
||||
;;
|
||||
"--with-mpfr="*)
|
||||
MPFR_DIR=`expr substr $1 13 length $1`
|
||||
--with-mpfr)
|
||||
MPFR_DIR="$VALUE"
|
||||
;;
|
||||
"--with-flint="*)
|
||||
FLINT_DIR=`expr substr $1 14 length $1`
|
||||
--with-flint)
|
||||
FLINT_DIR="$VALUE"
|
||||
;;
|
||||
"--prefix="*)
|
||||
PREFIX=`expr substr $1 10 length $1`
|
||||
;;
|
||||
"--disable-shared")
|
||||
--with-ntl)
|
||||
WANT_NTL=1
|
||||
if [ ! -z "$VALUE" ]; then
|
||||
NTL_DIR="$VALUE"
|
||||
fi
|
||||
;;
|
||||
--without-ntl)
|
||||
WANT_NTL=0
|
||||
;;
|
||||
--with-blas)
|
||||
WANT_BLAS=1
|
||||
if [ ! -z "$VALUE" ]; then
|
||||
BLAS_DIR="$VALUE"
|
||||
fi
|
||||
;;
|
||||
--without-blas)
|
||||
WANT_BLAS=0
|
||||
;;
|
||||
--extensions)
|
||||
EXTENSIONS="$VALUE"
|
||||
;;
|
||||
--build)
|
||||
BUILD="$VALUE"
|
||||
;;
|
||||
--prefix)
|
||||
PREFIX=$VALUE
|
||||
FLINT_CPIMPORT_DIR="$PREFIX/share/arb"
|
||||
FLINT_CPIMPORT="$FLINT_CPIMPORT_DIR/CPimport.txt"
|
||||
;;
|
||||
--enable-shared)
|
||||
SHARED=1
|
||||
;;
|
||||
--disable-shared)
|
||||
SHARED=0
|
||||
;;
|
||||
"--disable-static")
|
||||
--enable-static)
|
||||
STATIC=1
|
||||
;;
|
||||
--disable-static)
|
||||
STATIC=0
|
||||
;;
|
||||
"AR="*)
|
||||
AR=`expr substr $1 4 length $1`
|
||||
--single)
|
||||
REENTRANT=0
|
||||
;;
|
||||
"CC="*)
|
||||
CC=`expr substr $1 4 length $1`
|
||||
--reentrant)
|
||||
REENTRANT=1
|
||||
;;
|
||||
"CFLAGS="*)
|
||||
CFLAGS=`expr substr $1 8 length $1`
|
||||
--with-gc)
|
||||
WANT_GC=1
|
||||
if [ ! -z "$VALUE" ]; then
|
||||
GC_DIR="$VALUE"
|
||||
fi
|
||||
;;
|
||||
*) usage
|
||||
--enable-pthread)
|
||||
PTHREAD=1
|
||||
;;
|
||||
--disable-pthread)
|
||||
PTHREAD=0
|
||||
;;
|
||||
--enable-tls)
|
||||
TLS=1
|
||||
WANT_TLS=1;;
|
||||
--disable-tls)
|
||||
TLS=0
|
||||
;;
|
||||
--enable-assert)
|
||||
ASSERT=1
|
||||
;;
|
||||
--disable-assert)
|
||||
ASSERT=0
|
||||
;;
|
||||
--enable-cxx)
|
||||
WANT_CXX=1
|
||||
;;
|
||||
--disable-cxx)
|
||||
WANT_CXX=0
|
||||
;;
|
||||
AR)
|
||||
AR="$VALUE"
|
||||
;;
|
||||
CC)
|
||||
CC="$VALUE"
|
||||
;;
|
||||
CXX)
|
||||
CXX="$VALUE"
|
||||
;;
|
||||
CFLAGS)
|
||||
CFLAGS="$VALUE"
|
||||
;;
|
||||
ABI)
|
||||
ABI="$VALUE"
|
||||
;;
|
||||
*)
|
||||
usage
|
||||
exit 1
|
||||
;;
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
#find dependencies
|
||||
|
||||
LIBS="m"
|
||||
|
||||
if [ -d "${GMP_DIR}/lib" ]; then
|
||||
GMP_LIB_DIR="${GMP_DIR}/lib"
|
||||
GMP_INCLUDE_DIR="${GMP_DIR}/include"
|
||||
GMP_INC_DIR="${GMP_DIR}/include"
|
||||
elif [ -d "${GMP_DIR}/lib64" ]; then
|
||||
GMP_LIB_DIR="${GMP_DIR}/lib64"
|
||||
GMP_INC_DIR="${GMP_DIR}/include"
|
||||
elif [ -d "${GMP_DIR}/.libs" ]; then
|
||||
GMP_LIB_DIR="${GMP_DIR}/.libs"
|
||||
GMP_INCLUDE_DIR="${GMP_DIR}"
|
||||
GMP_INC_DIR="${GMP_DIR}"
|
||||
else
|
||||
echo "Invalid GMP/MPIR directory"
|
||||
echo "Invalid GMP directory"
|
||||
exit 1
|
||||
fi
|
||||
LIB_DIRS="${LIB_DIRS} ${GMP_LIB_DIR}"
|
||||
INC_DIRS="${INC_DIRS} ${GMP_INC_DIR}"
|
||||
LIBS="${LIBS} gmp"
|
||||
|
||||
if [ -d "${MPFR_DIR}/lib" ]; then
|
||||
MPFR_LIB_DIR="${MPFR_DIR}/lib"
|
||||
MPFR_INCLUDE_DIR="${MPFR_DIR}/include"
|
||||
MPFR_INC_DIR="${MPFR_DIR}/include"
|
||||
elif [ -d "${MPFR_DIR}/lib64" ]; then
|
||||
MPFR_LIB_DIR="${MPFR_DIR}/lib64"
|
||||
MPFR_INC_DIR="${MPFR_DIR}/include"
|
||||
elif [ -d "${MPFR_DIR}/.libs" ]; then
|
||||
MPFR_LIB_DIR="${MPFR_DIR}/.libs"
|
||||
MPFR_INCLUDE_DIR="${MPFR_DIR}"
|
||||
MPFR_INC_DIR="${MPFR_DIR}"
|
||||
elif [ -d "${MPFR_DIR}/src/.libs" ]; then
|
||||
MPFR_LIB_DIR="${MPFR_DIR}/src/.libs"
|
||||
MPFR_INC_DIR="${MPFR_DIR}/src"
|
||||
else
|
||||
echo "Invalid MPFR directory"
|
||||
exit 1
|
||||
fi
|
||||
LIB_DIRS="${LIB_DIRS} ${MPFR_LIB_DIR}"
|
||||
INC_DIRS="${INC_DIRS} ${MPFR_INC_DIR}"
|
||||
LIBS="${LIBS} mpfr"
|
||||
|
||||
if [ -d "${FLINT_DIR}/lib" ]; then
|
||||
FLINT_LIB_DIR="${FLINT_DIR}/lib"
|
||||
FLINT_INCLUDE_DIR="${FLINT_DIR}/include"
|
||||
FLINT_INC_DIR="${FLINT_DIR}/include"
|
||||
elif [ -d "${FLINT_DIR}/lib64" ]; then
|
||||
FLINT_LIB_DIR="${FLINT_DIR}/lib64"
|
||||
FLINT_INC_DIR="${FLINT_DIR}/include"
|
||||
elif [ -d "${FLINT_DIR}/.libs" ]; then
|
||||
FLINT_LIB_DIR="${FLINT_DIR}/.libs"
|
||||
FLINT_INCLUDE_DIR="${FLINT_DIR}"
|
||||
elif [ -e "${FLINT_DIR}/flint.h" ]; then
|
||||
FLINT_INC_DIR="${FLINT_DIR}"
|
||||
elif [ -d "${FLINT_DIR}" ]; then
|
||||
FLINT_LIB_DIR="${FLINT_DIR}"
|
||||
FLINT_INCLUDE_DIR="${FLINT_DIR}"
|
||||
FLINT_INC_DIR="${FLINT_DIR}"
|
||||
else
|
||||
echo "${FLINT_DIR}"
|
||||
echo "Invalid FLINT directory?"
|
||||
echo "Invalid FLINT directory"
|
||||
exit 1
|
||||
fi
|
||||
LIB_DIRS="${LIB_DIRS} ${FLINT_LIB_DIR}"
|
||||
INC_DIRS="${INC_DIRS} ${FLINT_INC_DIR}"
|
||||
LIBS="${LIBS} flint"
|
||||
|
||||
if [ -d "${FLINT_INCLUDE_DIR}/flint" ]; then
|
||||
FLINT_INCLUDE_DIR="${FLINT_INCLUDE_DIR}/flint"
|
||||
#configure extra libraries
|
||||
|
||||
if [ "$WANT_NTL" = "1" ]; then
|
||||
if [ -d "${NTL_DIR}/lib" ]; then
|
||||
NTL_LIB_DIR="${NTL_DIR}/lib"
|
||||
NTL_INC_DIR="${NTL_DIR}/include"
|
||||
elif [ -d "${NTL_DIR}/lib64" ]; then
|
||||
NTL_LIB_DIR="${NTL_DIR}/lib64"
|
||||
NTL_INC_DIR="${NTL_DIR}/include"
|
||||
else
|
||||
echo "Invalid NTL directory"
|
||||
exit 1
|
||||
fi
|
||||
EXTRA_INC_DIRS="${EXTRA_INC_DIRS} ${NTL_INC_DIR}"
|
||||
EXTRA_LIB_DIRS="${EXTRA_LIB_DIRS} ${NTL_LIB_DIR}"
|
||||
EXTRA_LIBS="${EXTRA_LIBS} ntl"
|
||||
fi
|
||||
|
||||
if [ "`uname`" = "Linux" -a "`uname -m`" = "x86_64" ]; then
|
||||
ARB_TUNE="-funroll-loops "
|
||||
elif [ "`uname`" = "Darwin" -a "`uname -m`" = "Power Macintosh" ]; then
|
||||
ARB_TUNE=" -funroll-loops "
|
||||
elif [ "`uname -p`" = "powerpc" ]; then
|
||||
ARB_TUNE="-m64 -mcpu=970 -mtune=970 -mpowerpc64 -falign-loops=16 -falign-functions=16 -falign-labels=16 -falign-jumps=16"
|
||||
elif [ "`uname -m`" = "ia64" ]; then
|
||||
# -funroll-loops crashes the build on itanium under GCC-4.2.1, as reported by
|
||||
# Kate Minola.
|
||||
ARB_TUNE=" "
|
||||
else
|
||||
ARB_TUNE="-funroll-loops "
|
||||
if [ "$WANT_BLAS" = "1" ]; then
|
||||
if [ -d "${BLAS_DIR}" ]; then
|
||||
BLAS_LIB_DIR="${BLAS_DIR}"
|
||||
BLAS_INC_DIR="${BLAS_DIR}"
|
||||
else
|
||||
echo "Invalid BLAS directory"
|
||||
exit 1
|
||||
fi
|
||||
EXTRA_INC_DIRS="${EXTRA_INC_DIRS} ${BLAS_INC_DIR}"
|
||||
EXTRA_LIB_DIRS="${EXTRA_LIB_DIRS} ${BLAS_LIB_DIR}"
|
||||
EXTRA_LIBS="${EXTRA_LIBS} openblas"
|
||||
fi
|
||||
CONFIG_BLAS="#define HAVE_BLAS ${WANT_BLAS}"
|
||||
|
||||
if [ "`uname`" = "Darwin" ]; then
|
||||
ARB_LIB="libarb.dylib"
|
||||
else
|
||||
ARB_LIB="libarb.so"
|
||||
if [ "$WANT_GC" = "1" ]; then
|
||||
if [ -d "${GC_DIR}" ]; then
|
||||
GC_LIB_DIR="${GC_DIR}/lib"
|
||||
GC_INC_DIR="${GC_DIR}/include"
|
||||
else
|
||||
echo "Invalid GC directory"
|
||||
exit 1
|
||||
fi
|
||||
EXTRA_INC_DIRS="${EXTRA_INC_DIRS} ${GC_INC_DIR}"
|
||||
EXTRA_LIB_DIRS="${EXTRA_LIB_DIRS} ${GC_LIB_DIR}"
|
||||
EXTRA_LIBS="${EXTRA_LIBS} gc"
|
||||
fi
|
||||
CONFIG_GC="#define HAVE_GC ${WANT_GC}"
|
||||
|
||||
if [ -z "$CFLAGS" ]; then
|
||||
CFLAGS="-O2 -g -ansi -pedantic -Wall"
|
||||
fi
|
||||
# defaults for CC, CXX and AR
|
||||
|
||||
if [ -z "$CC" ]; then
|
||||
CC=gcc
|
||||
fi
|
||||
|
||||
CFLAGS="$CFLAGS $ARB_TUNE"
|
||||
if [ -z "$CXX" ]; then
|
||||
CXX=g++
|
||||
fi
|
||||
|
||||
if [ -z "$AR" ]; then
|
||||
AR=ar
|
||||
fi
|
||||
|
||||
# Architecture handler
|
||||
|
||||
KERNEL=`uname`
|
||||
|
||||
if [ -z "$BUILD" ]; then
|
||||
ARCH=`uname -m`
|
||||
|
||||
if [ "$(uname | cut -d_ -f1)" = "MINGW32" ]; then
|
||||
if [ "$ABI" = "64" ]; then
|
||||
OS="MINGW64"
|
||||
else
|
||||
OS="MINGW32"
|
||||
fi
|
||||
elif [ "$(uname | cut -d_ -f1)" = "CYGWIN" ]; then
|
||||
if [ "$ARCH" = "x86_64" ]; then
|
||||
if [ "$ABI" = "32" ]; then
|
||||
OS="CYGWIN32"
|
||||
else
|
||||
OS="CYGWIN64"
|
||||
ABI="64"
|
||||
fi
|
||||
else
|
||||
OS="CYGWIN32"
|
||||
fi
|
||||
else
|
||||
OS=`uname -s`
|
||||
fi
|
||||
else
|
||||
ARCH=`echo "$BUILD" | cut -d- -f1`
|
||||
OS=`echo "$BUILD" | cut -d- -f2`
|
||||
fi
|
||||
|
||||
case "$ARCH" in
|
||||
x86_64 | amd64)
|
||||
MACHINE="x86_64";;
|
||||
x86 | i*86 | pc)
|
||||
MACHINE="x86";;
|
||||
ia64)
|
||||
MACHINE="ia64";;
|
||||
sparc | sun4*)
|
||||
MACHINE="sparc";;
|
||||
sparc64)
|
||||
MACHINE="sparc64";;
|
||||
ppc64 | powerpc64)
|
||||
MACHINE="ppc64";;
|
||||
ppc | powerpc | [P|p]ower*)
|
||||
MACHINE="ppc";;
|
||||
*)
|
||||
MACHINE="unknown";;
|
||||
esac
|
||||
|
||||
#ABI flag
|
||||
if [ "$ABI" = "32" ]; then
|
||||
ABI_FLAG="-m32"
|
||||
case "$MACHINE" in
|
||||
x86_64)
|
||||
MACHINE="x86";;
|
||||
sparc64)
|
||||
MACHINE="sparc";;
|
||||
ppc64)
|
||||
MACHINE="ppc";;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
elif [ "$ABI" = "64" ]; then
|
||||
ABI_FLAG="-m64"
|
||||
if [ "$MACHINE" = "sparc" ]; then
|
||||
MACHINE="sparc64"
|
||||
fi
|
||||
if [ "$MACHINE" = "x86" ]; then
|
||||
MACHINE="x86_64"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$MACHINE" = "sparc" ] || [ "$MACHINE" = "sparc64" ]; then
|
||||
if [ "$CC" = "gcc" ]; then
|
||||
CC="gcc -mno-relax"
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "Configuring...${MACHINE}-${OS}"
|
||||
|
||||
#name for ARB shared library
|
||||
|
||||
if [ -z "$ARB_LIB" ]; then
|
||||
case "$OS" in
|
||||
Darwin)
|
||||
ARB_LIB="libarb.dylib"
|
||||
EXTRA_SHARED_FLAGS="-install_name $PREFIX/lib/$ARB_LIB";;
|
||||
CYGWIN* | MINGW*)
|
||||
ARB_LIB="libarb.dll";;
|
||||
*)
|
||||
ARB_LIB="libarb.so";;
|
||||
esac
|
||||
fi
|
||||
|
||||
#extension for executables
|
||||
|
||||
if [ -z "$EXEEXT" ]; then
|
||||
case "$OS" in
|
||||
CYGWIN* | MINGW*)
|
||||
EXEEXT=".exe";;
|
||||
*)
|
||||
EXEEXT="";;
|
||||
esac
|
||||
fi
|
||||
|
||||
#don't build both shared and static lib on MinGW and Cygwin
|
||||
|
||||
case "$OS" in
|
||||
CYGWIN* | MINGW*)
|
||||
if [ "$STATIC" = "1" ] && [ "$SHARED" = "1" ]; then
|
||||
echo "Building both static and shared versions of MPIR/GMP on $OS is currently"
|
||||
echo "unsupported, and so is it for MPFR, FLINT and ARB."
|
||||
echo "You should pass --disable-shared or --disable-static to configure"
|
||||
echo "depending on the versions of MPIR/GMP, MPFR and FLINT you built."
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
#test for popcnt flag and set needed CFLAGS
|
||||
|
||||
mkdir -p build
|
||||
rm -f build/test-popcnt > /dev/null 2>&1
|
||||
MSG="Testing __builtin_popcountl..."
|
||||
printf "%s" "$MSG"
|
||||
echo "int main(int argc, char ** argv) {
|
||||
#if defined(_WIN64)
|
||||
return __builtin_popcountll(argc) == 100;
|
||||
#else
|
||||
return __builtin_popcountl(argc) == 100;
|
||||
#endif
|
||||
}" > build/test-popcnt.c
|
||||
$CC build/test-popcnt.c -o ./build/test-popcnt > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
printf "%s\n" "yes"
|
||||
CONFIG_POPCNT_INTRINSICS="#define POPCNT_INTRINSICS"
|
||||
|
||||
if [ "$MACHINE" = "x86_64" ]; then
|
||||
MSG="Testing native popcount..."
|
||||
printf "%s" "$MSG"
|
||||
touch build/test-popcnt.c
|
||||
rm build/test-popcnt
|
||||
$CC -mpopcnt build/test-popcnt.c -o ./build/test-popcnt > /dev/null 2>&1
|
||||
build/test-popcnt > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
printf "%s\n" "yes"
|
||||
POPCNT_FLAG="-mpopcnt"
|
||||
else
|
||||
printf "%s\n" "no"
|
||||
fi
|
||||
rm -f build/test-popcnt{,.c}
|
||||
#in case -mpopcnt is not available, the test program will use an illegal
|
||||
#instruction and that will print out something on stderr when the if
|
||||
#construction is exited, whence the following "2> /dev/null"
|
||||
fi 2> /dev/null
|
||||
else
|
||||
rm -f build/test-popcnt.c
|
||||
printf "%s\n" "no"
|
||||
fi
|
||||
|
||||
#defaults for CFLAGS
|
||||
|
||||
if [ -z "$CFLAGS" ]; then
|
||||
if [ "$OS" = "MINGW64" ]; then
|
||||
CFLAGS="-O2 -funroll-loops -g $POPCNT_FLAG $ABI_FLAG"
|
||||
elif [ "$OS" = "CYGWIN64" ]; then
|
||||
CFLAGS="-O2 -funroll-loops -g -D _WIN64 $POPCNT_FLAG $ABI_FLAG"
|
||||
else
|
||||
CFLAGS="-ansi -pedantic -Wall -O2 -funroll-loops -g $POPCNT_FLAG $ABI_FLAG"
|
||||
fi
|
||||
fi
|
||||
|
||||
#Conway polynomials database
|
||||
|
||||
CFLAGS="$CFLAGS -DFLINT_CPIMPORT=\\\"$FLINT_CPIMPORT\\\""
|
||||
|
||||
#this is needed on PPC G5 and does not hurt on other OS Xes
|
||||
|
||||
if [ "$KERNEL" = Darwin ]; then
|
||||
CFLAGS="-fno-common $CFLAGS"
|
||||
fi
|
||||
|
||||
#PIC flag
|
||||
|
||||
if [ -z "$PIC_FLAG" ]; then
|
||||
case "$OS" in
|
||||
CYGWIN* | MINGW*)
|
||||
;;
|
||||
*)
|
||||
PIC_FLAG="-fPIC";;
|
||||
esac
|
||||
fi
|
||||
|
||||
#test support for thread-local storage
|
||||
|
||||
CONFIG_TLS="#define HAVE_TLS 0"
|
||||
|
||||
if [ "$TLS" = "1" ]; then
|
||||
mkdir -p build
|
||||
rm -f build/test-tls > /dev/null 2>&1
|
||||
MSG="Testing __thread..."
|
||||
printf "%s" "$MSG"
|
||||
echo "__thread int x = 42; int main(int argc, char ** argv) { return x != 42; }" > build/test-tls.c
|
||||
$CC build/test-tls.c -o ./build/test-tls > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
build/test-tls > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
printf "%s\n" "yes"
|
||||
CONFIG_TLS="#define HAVE_TLS 1"
|
||||
else
|
||||
printf "%s\n" "no"
|
||||
fi
|
||||
rm -f build/test-tls{,.c}
|
||||
else
|
||||
rm -f build/test-tls.c
|
||||
printf "%s\n" "no"
|
||||
#build-tls can segfault on systems where tls is not available
|
||||
fi 2> /dev/null
|
||||
fi
|
||||
|
||||
#pthread configuration
|
||||
|
||||
CONFIG_PTHREAD="#define HAVE_PTHREAD ${PTHREAD}"
|
||||
|
||||
|
||||
#pocess external modules
|
||||
|
||||
EXTRA_INC_DIRS="${EXTRA_INC_DIRS} ${EXTENSIONS}"
|
||||
|
||||
#include paths
|
||||
|
||||
INCS="-I\$(CURDIR)"
|
||||
for INC_DIR in ${INC_DIRS} ${EXTRA_INC_DIRS}; do
|
||||
INCS="${INCS} -I${INC_DIR}"
|
||||
done
|
||||
|
||||
#library paths
|
||||
|
||||
LLIBS="-L\$(CURDIR)"
|
||||
for LIB_DIR in ${LIB_DIRS} ${EXTRA_LIB_DIRS}; do
|
||||
LLIBS="${LLIBS} -L${LIB_DIR}"
|
||||
done
|
||||
|
||||
#linker params
|
||||
|
||||
if [ "$PTHREAD" = "1" ]; then
|
||||
lLIBS2="-lpthread ${lLIBS2}"
|
||||
fi
|
||||
|
||||
|
||||
for LIB in ${EXTRA_LIBS} ${LIBS}; do
|
||||
lLIBS2="-l${LIB} ${lLIBS2}"
|
||||
done
|
||||
lLIBS="-larb $lLIBS2"
|
||||
LIBS2="$LLIBS $lLIBS2"
|
||||
LIBS="$LLIBS $lLIBS"
|
||||
|
||||
#paths for dynamic linker
|
||||
|
||||
case "$OS" in
|
||||
CYGWIN* | MINGW*)
|
||||
DLPATH="PATH";;
|
||||
Darwin)
|
||||
DLPATH="DYLD_LIBRARY_PATH";;
|
||||
sparc)
|
||||
DLPATH="LD_LIBRARY_PATH32";;
|
||||
sparc64)
|
||||
DLPATH="LD_LIBRARY_PATH64";;
|
||||
*)
|
||||
DLPATH="LD_LIBRARY_PATH";;
|
||||
esac
|
||||
|
||||
DLPATH_ADD="\$(CURDIR)"
|
||||
for LIB_DIR in ${LIB_DIRS} ${EXTRA_LIB_DIRS}; do
|
||||
DLPATH_ADD="${DLPATH_ADD}:${LIB_DIR}"
|
||||
done
|
||||
|
||||
#cxx
|
||||
|
||||
if [ "$WANT_CXX" = "1" ]; then
|
||||
EXTRA_BUILD="$EXTRA_BUILD arbxx"
|
||||
fi
|
||||
|
||||
#write out config.h
|
||||
|
||||
echo "/* This file is autogenerated by ./configure -- do not edit! */" > config.h
|
||||
echo "$CONFIG_POPCNT_INTRINSICS" >> config.h
|
||||
echo "$CONFIG_BLAS" >> config.h
|
||||
echo "$CONFIG_TLS" >> config.h
|
||||
echo "$CONFIG_PTHREAD" >> config.h
|
||||
echo "$CONFIG_GC" >> config.h
|
||||
echo "#define ARB_REENTRANT $REENTRANT" >> config.h
|
||||
echo "#define WANT_ASSERT $ASSERT" >> config.h
|
||||
|
||||
#write out Makefile
|
||||
|
||||
echo "# This file is autogenerated by ./configure -- do not edit!" > Makefile
|
||||
echo "" >> Makefile
|
||||
if [ "$STATIC" = "1" ]; then
|
||||
echo "ARB_STATIC=1" >> Makefile
|
||||
fi
|
||||
if [ "$SHARED" = "1" ]; then
|
||||
echo "ARB_SHARED=1" >> Makefile
|
||||
fi
|
||||
echo "ARB_GMP_LIB_DIR=$GMP_LIB_DIR" >> Makefile
|
||||
echo "ARB_GMP_INCLUDE_DIR=$GMP_INCLUDE_DIR" >> Makefile
|
||||
echo "ARB_MPFR_LIB_DIR=$MPFR_LIB_DIR" >> Makefile
|
||||
echo "ARB_MPFR_INCLUDE_DIR=$MPFR_INCLUDE_DIR" >> Makefile
|
||||
echo "ARB_FLINT_LIB_DIR=$FLINT_LIB_DIR" >> Makefile
|
||||
echo "ARB_FLINT_INCLUDE_DIR=$FLINT_INCLUDE_DIR" >> Makefile
|
||||
echo "SHELL=/bin/sh" >> Makefile
|
||||
echo "" >> Makefile
|
||||
echo "ARB_STATIC=$STATIC" >> Makefile
|
||||
echo "ARB_SHARED=$SHARED" >> Makefile
|
||||
echo "ARB_LIB=$ARB_LIB" >> Makefile
|
||||
echo "CC=$CC" >> Makefile
|
||||
echo "CFLAGS=$CFLAGS" >> Makefile
|
||||
echo "EXEEXT=$EXEEXT" >> Makefile
|
||||
echo "PREFIX=$PREFIX" >> Makefile
|
||||
echo "" >> Makefile
|
||||
echo "WANT_NTL=$WANT_NTL" >> Makefile
|
||||
echo "" >> Makefile
|
||||
echo "FLINT_CPIMPORT_DIR=$FLINT_CPIMPORT_DIR" >> Makefile
|
||||
echo "FLINT_CPIMPORT=$FLINT_CPIMPORT" >> Makefile
|
||||
echo "" >> Makefile
|
||||
echo "INCS=$INCS" >> Makefile
|
||||
echo "LIBS=$LIBS" >> Makefile
|
||||
echo "LIBS2=$LIBS2" >> Makefile
|
||||
echo "" >> Makefile
|
||||
echo "CC=$CC" >> Makefile
|
||||
echo "CXX=$CXX" >> Makefile
|
||||
echo "AR=$AR" >> Makefile
|
||||
echo "" >> Makefile
|
||||
echo "CFLAGS=$CFLAGS" >> Makefile
|
||||
echo "ABI_FLAG=$ABI_FLAG" >> Makefile
|
||||
echo "PIC_FLAG=$PIC_FLAG" >> Makefile
|
||||
echo "EXTRA_SHARED_FLAGS=$EXTRA_SHARED_FLAGS" >> Makefile
|
||||
echo "" >> Makefile
|
||||
echo "DLPATH=$DLPATH" >> Makefile
|
||||
echo "DLPATH_ADD=$DLPATH_ADD" >> Makefile
|
||||
echo "EXTENSIONS=$EXTENSIONS" >> Makefile
|
||||
echo "EXTRA_BUILD_DIRS=$EXTRA_BUILD" >> Makefile
|
||||
echo "" >> Makefile
|
||||
|
||||
cat Makefile.in >> Makefile
|
||||
|
||||
echo "ARB was successfully configured."
|
||||
|
|
|
@ -1,43 +0,0 @@
|
|||
SOURCES = $(wildcard *.c)
|
||||
|
||||
OBJS = $(patsubst %.c, $(BUILD_DIR)/%.o, $(SOURCES))
|
||||
|
||||
LIB_OBJS = $(patsubst %.c, $(BUILD_DIR)/%.lo, $(SOURCES))
|
||||
|
||||
TEST_SOURCES = $(wildcard test/*.c)
|
||||
|
||||
PROF_SOURCES = $(wildcard profile/*.c)
|
||||
|
||||
TUNE_SOURCES = $(wildcard tune/*.c)
|
||||
|
||||
TESTS = $(patsubst %.c, %, $(TEST_SOURCES))
|
||||
|
||||
PROFS = $(patsubst %.c, %, $(PROF_SOURCES))
|
||||
|
||||
TUNE = $(patsubst %.c, %, $(TUNE_SOURCES))
|
||||
|
||||
all: $(OBJS)
|
||||
|
||||
library: $(LIB_OBJS)
|
||||
|
||||
profile:
|
||||
$(foreach prog, $(PROFS), $(CC) -O2 -std=c99 $(INCS) $(prog).c ../profiler.o -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
tune: $(TUNE_SOURCES)
|
||||
$(foreach prog, $(TUNE), $(CC) -O2 -std=c99 $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
$(BUILD_DIR)/%.o: %.c
|
||||
$(CC) $(CFLAGS) -c $(INCS) $< -o $@
|
||||
|
||||
$(BUILD_DIR)/%.lo: %.c
|
||||
$(CC) -fPIC $(CFLAGS) $(INCS) -c $< -o $@
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR)
|
||||
|
||||
check: library
|
||||
$(foreach prog, $(TESTS), $(CC) $(CFLAGS) $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
$(foreach prog, $(TESTS), $(BUILD_DIR)/$(prog);)
|
||||
|
||||
.PHONY: profile clean check all
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
SOURCES = $(wildcard *.c)
|
||||
|
||||
OBJS = $(patsubst %.c, $(BUILD_DIR)/%.o, $(SOURCES))
|
||||
|
||||
LIB_OBJS = $(patsubst %.c, $(BUILD_DIR)/%.lo, $(SOURCES))
|
||||
|
||||
TEST_SOURCES = $(wildcard test/*.c)
|
||||
|
||||
PROF_SOURCES = $(wildcard profile/*.c)
|
||||
|
||||
TUNE_SOURCES = $(wildcard tune/*.c)
|
||||
|
||||
TESTS = $(patsubst %.c, %, $(TEST_SOURCES))
|
||||
|
||||
PROFS = $(patsubst %.c, %, $(PROF_SOURCES))
|
||||
|
||||
TUNE = $(patsubst %.c, %, $(TUNE_SOURCES))
|
||||
|
||||
all: $(OBJS)
|
||||
|
||||
library: $(LIB_OBJS)
|
||||
|
||||
profile:
|
||||
$(foreach prog, $(PROFS), $(CC) -O2 -std=c99 $(INCS) $(prog).c ../profiler.o -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
tune: $(TUNE_SOURCES)
|
||||
$(foreach prog, $(TUNE), $(CC) -O2 -std=c99 $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
$(BUILD_DIR)/%.o: %.c
|
||||
$(CC) $(CFLAGS) -c $(INCS) $< -o $@
|
||||
|
||||
$(BUILD_DIR)/%.lo: %.c
|
||||
$(CC) -fPIC $(CFLAGS) $(INCS) -c $< -o $@
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR)
|
||||
|
||||
check: library
|
||||
$(foreach prog, $(TESTS), $(CC) $(CFLAGS) $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
$(foreach prog, $(TESTS), $(BUILD_DIR)/$(prog);)
|
||||
|
||||
.PHONY: profile clean check all
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
SOURCES = $(wildcard *.c)
|
||||
|
||||
OBJS = $(patsubst %.c, $(BUILD_DIR)/%.o, $(SOURCES))
|
||||
|
||||
LIB_OBJS = $(patsubst %.c, $(BUILD_DIR)/%.lo, $(SOURCES))
|
||||
|
||||
TEST_SOURCES = $(wildcard test/*.c)
|
||||
|
||||
PROF_SOURCES = $(wildcard profile/*.c)
|
||||
|
||||
TUNE_SOURCES = $(wildcard tune/*.c)
|
||||
|
||||
TESTS = $(patsubst %.c, %, $(TEST_SOURCES))
|
||||
|
||||
PROFS = $(patsubst %.c, %, $(PROF_SOURCES))
|
||||
|
||||
TUNE = $(patsubst %.c, %, $(TUNE_SOURCES))
|
||||
|
||||
all: $(OBJS)
|
||||
|
||||
library: $(LIB_OBJS)
|
||||
|
||||
profile:
|
||||
$(foreach prog, $(PROFS), $(CC) -O2 -std=c99 $(INCS) $(prog).c ../profiler.o -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
tune: $(TUNE_SOURCES)
|
||||
$(foreach prog, $(TUNE), $(CC) -O2 -std=c99 $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
$(BUILD_DIR)/%.o: %.c
|
||||
$(CC) $(CFLAGS) -c $(INCS) $< -o $@
|
||||
|
||||
$(BUILD_DIR)/%.lo: %.c
|
||||
$(CC) -fPIC $(CFLAGS) $(INCS) -c $< -o $@
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR)
|
||||
|
||||
check: library
|
||||
$(foreach prog, $(TESTS), $(CC) $(CFLAGS) $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
$(foreach prog, $(TESTS), $(BUILD_DIR)/$(prog);)
|
||||
|
||||
.PHONY: profile clean check all
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
SOURCES = $(wildcard *.c)
|
||||
|
||||
OBJS = $(patsubst %.c, $(BUILD_DIR)/%.o, $(SOURCES))
|
||||
|
||||
LIB_OBJS = $(patsubst %.c, $(BUILD_DIR)/%.lo, $(SOURCES))
|
||||
|
||||
TEST_SOURCES = $(wildcard test/*.c)
|
||||
|
||||
PROF_SOURCES = $(wildcard profile/*.c)
|
||||
|
||||
TUNE_SOURCES = $(wildcard tune/*.c)
|
||||
|
||||
TESTS = $(patsubst %.c, %, $(TEST_SOURCES))
|
||||
|
||||
PROFS = $(patsubst %.c, %, $(PROF_SOURCES))
|
||||
|
||||
TUNE = $(patsubst %.c, %, $(TUNE_SOURCES))
|
||||
|
||||
all: $(OBJS)
|
||||
|
||||
library: $(LIB_OBJS)
|
||||
|
||||
profile:
|
||||
$(foreach prog, $(PROFS), $(CC) -O2 -std=c99 $(INCS) $(prog).c ../profiler.o -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
tune: $(TUNE_SOURCES)
|
||||
$(foreach prog, $(TUNE), $(CC) -O2 -std=c99 $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
$(BUILD_DIR)/%.o: %.c
|
||||
$(CC) $(CFLAGS) -c $(INCS) $< -o $@
|
||||
|
||||
$(BUILD_DIR)/%.lo: %.c
|
||||
$(CC) -fPIC $(CFLAGS) $(INCS) -c $< -o $@
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR)
|
||||
|
||||
check: library
|
||||
$(foreach prog, $(TESTS), $(CC) $(CFLAGS) $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
$(foreach prog, $(TESTS), $(BUILD_DIR)/$(prog);)
|
||||
|
||||
.PHONY: profile clean check all
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
SOURCES = $(wildcard *.c)
|
||||
|
||||
OBJS = $(patsubst %.c, $(BUILD_DIR)/%.o, $(SOURCES))
|
||||
|
||||
LIB_OBJS = $(patsubst %.c, $(BUILD_DIR)/%.lo, $(SOURCES))
|
||||
|
||||
TEST_SOURCES = $(wildcard test/*.c)
|
||||
|
||||
PROF_SOURCES = $(wildcard profile/*.c)
|
||||
|
||||
TUNE_SOURCES = $(wildcard tune/*.c)
|
||||
|
||||
TESTS = $(patsubst %.c, %, $(TEST_SOURCES))
|
||||
|
||||
PROFS = $(patsubst %.c, %, $(PROF_SOURCES))
|
||||
|
||||
TUNE = $(patsubst %.c, %, $(TUNE_SOURCES))
|
||||
|
||||
all: $(OBJS)
|
||||
|
||||
library: $(LIB_OBJS)
|
||||
|
||||
profile:
|
||||
$(foreach prog, $(PROFS), $(CC) -O2 -std=c99 $(INCS) $(prog).c ../profiler.o -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
tune: $(TUNE_SOURCES)
|
||||
$(foreach prog, $(TUNE), $(CC) -O2 -std=c99 $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
$(BUILD_DIR)/%.o: %.c
|
||||
$(CC) $(CFLAGS) -c $(INCS) $< -o $@
|
||||
|
||||
$(BUILD_DIR)/%.lo: %.c
|
||||
$(CC) -fPIC $(CFLAGS) $(INCS) -c $< -o $@
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR)
|
||||
|
||||
check: library
|
||||
$(foreach prog, $(TESTS), $(CC) $(CFLAGS) $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
$(foreach prog, $(TESTS), $(BUILD_DIR)/$(prog);)
|
||||
|
||||
.PHONY: profile clean check all
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
SOURCES = $(wildcard *.c)
|
||||
|
||||
OBJS = $(patsubst %.c, $(BUILD_DIR)/%.o, $(SOURCES))
|
||||
|
||||
LIB_OBJS = $(patsubst %.c, $(BUILD_DIR)/%.lo, $(SOURCES))
|
||||
|
||||
TEST_SOURCES = $(wildcard test/*.c)
|
||||
|
||||
PROF_SOURCES = $(wildcard profile/*.c)
|
||||
|
||||
TUNE_SOURCES = $(wildcard tune/*.c)
|
||||
|
||||
TESTS = $(patsubst %.c, %, $(TEST_SOURCES))
|
||||
|
||||
PROFS = $(patsubst %.c, %, $(PROF_SOURCES))
|
||||
|
||||
TUNE = $(patsubst %.c, %, $(TUNE_SOURCES))
|
||||
|
||||
all: $(OBJS)
|
||||
|
||||
library: $(LIB_OBJS)
|
||||
|
||||
profile:
|
||||
$(foreach prog, $(PROFS), $(CC) -O2 -std=c99 $(INCS) $(prog).c ../profiler.o -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
tune: $(TUNE_SOURCES)
|
||||
$(foreach prog, $(TUNE), $(CC) -O2 -std=c99 $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
$(BUILD_DIR)/%.o: %.c
|
||||
$(CC) $(CFLAGS) -c $(INCS) $< -o $@
|
||||
|
||||
$(BUILD_DIR)/%.lo: %.c
|
||||
$(CC) -fPIC $(CFLAGS) $(INCS) -c $< -o $@
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR)
|
||||
|
||||
check: library
|
||||
$(foreach prog, $(TESTS), $(CC) $(CFLAGS) $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
$(foreach prog, $(TESTS), $(BUILD_DIR)/$(prog);)
|
||||
|
||||
.PHONY: profile clean check all
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
SOURCES = $(wildcard *.c)
|
||||
|
||||
OBJS = $(patsubst %.c, $(BUILD_DIR)/%.o, $(SOURCES))
|
||||
|
||||
LIB_OBJS = $(patsubst %.c, $(BUILD_DIR)/%.lo, $(SOURCES))
|
||||
|
||||
TEST_SOURCES = $(wildcard test/*.c)
|
||||
|
||||
PROF_SOURCES = $(wildcard profile/*.c)
|
||||
|
||||
TUNE_SOURCES = $(wildcard tune/*.c)
|
||||
|
||||
TESTS = $(patsubst %.c, %, $(TEST_SOURCES))
|
||||
|
||||
PROFS = $(patsubst %.c, %, $(PROF_SOURCES))
|
||||
|
||||
TUNE = $(patsubst %.c, %, $(TUNE_SOURCES))
|
||||
|
||||
all: $(OBJS)
|
||||
|
||||
library: $(LIB_OBJS)
|
||||
|
||||
profile:
|
||||
$(foreach prog, $(PROFS), $(CC) -O2 -std=c99 $(INCS) $(prog).c ../profiler.o -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
tune: $(TUNE_SOURCES)
|
||||
$(foreach prog, $(TUNE), $(CC) -O2 -std=c99 $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
$(BUILD_DIR)/%.o: %.c
|
||||
$(CC) $(CFLAGS) -c $(INCS) $< -o $@
|
||||
|
||||
$(BUILD_DIR)/%.lo: %.c
|
||||
$(CC) -fPIC $(CFLAGS) $(INCS) -c $< -o $@
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR)
|
||||
|
||||
check: library
|
||||
$(foreach prog, $(TESTS), $(CC) $(CFLAGS) $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
$(foreach prog, $(TESTS), $(BUILD_DIR)/$(prog);)
|
||||
|
||||
.PHONY: profile clean check all
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
SOURCES = $(wildcard *.c)
|
||||
|
||||
OBJS = $(patsubst %.c, $(BUILD_DIR)/%.o, $(SOURCES))
|
||||
|
||||
LIB_OBJS = $(patsubst %.c, $(BUILD_DIR)/%.lo, $(SOURCES))
|
||||
|
||||
TEST_SOURCES = $(wildcard test/*.c)
|
||||
|
||||
PROF_SOURCES = $(wildcard profile/*.c)
|
||||
|
||||
TUNE_SOURCES = $(wildcard tune/*.c)
|
||||
|
||||
TESTS = $(patsubst %.c, %, $(TEST_SOURCES))
|
||||
|
||||
PROFS = $(patsubst %.c, %, $(PROF_SOURCES))
|
||||
|
||||
TUNE = $(patsubst %.c, %, $(TUNE_SOURCES))
|
||||
|
||||
all: $(OBJS)
|
||||
|
||||
library: $(LIB_OBJS)
|
||||
|
||||
profile:
|
||||
$(foreach prog, $(PROFS), $(CC) -O2 -std=c99 $(INCS) $(prog).c ../profiler.o -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
tune: $(TUNE_SOURCES)
|
||||
$(foreach prog, $(TUNE), $(CC) -O2 -std=c99 $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
$(BUILD_DIR)/%.o: %.c
|
||||
$(CC) $(CFLAGS) -c $(INCS) $< -o $@
|
||||
|
||||
$(BUILD_DIR)/%.lo: %.c
|
||||
$(CC) -fPIC $(CFLAGS) $(INCS) -c $< -o $@
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR)
|
||||
|
||||
check: library
|
||||
$(foreach prog, $(TESTS), $(CC) $(CFLAGS) $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
$(foreach prog, $(TESTS), $(BUILD_DIR)/$(prog);)
|
||||
|
||||
.PHONY: profile clean check all
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
SOURCES = $(wildcard *.c)
|
||||
|
||||
OBJS = $(patsubst %.c, $(BUILD_DIR)/%.o, $(SOURCES))
|
||||
|
||||
LIB_OBJS = $(patsubst %.c, $(BUILD_DIR)/%.lo, $(SOURCES))
|
||||
|
||||
TEST_SOURCES = $(wildcard test/*.c)
|
||||
|
||||
PROF_SOURCES = $(wildcard profile/*.c)
|
||||
|
||||
TUNE_SOURCES = $(wildcard tune/*.c)
|
||||
|
||||
TESTS = $(patsubst %.c, %, $(TEST_SOURCES))
|
||||
|
||||
PROFS = $(patsubst %.c, %, $(PROF_SOURCES))
|
||||
|
||||
TUNE = $(patsubst %.c, %, $(TUNE_SOURCES))
|
||||
|
||||
all: $(OBJS)
|
||||
|
||||
library: $(LIB_OBJS)
|
||||
|
||||
profile:
|
||||
$(foreach prog, $(PROFS), $(CC) -O2 -std=c99 $(INCS) $(prog).c ../profiler.o -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
tune: $(TUNE_SOURCES)
|
||||
$(foreach prog, $(TUNE), $(CC) -O2 -std=c99 $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
$(BUILD_DIR)/%.o: %.c
|
||||
$(CC) $(CFLAGS) -c $(INCS) $< -o $@
|
||||
|
||||
$(BUILD_DIR)/%.lo: %.c
|
||||
$(CC) -fPIC $(CFLAGS) $(INCS) -c $< -o $@
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR)
|
||||
|
||||
check: library
|
||||
$(foreach prog, $(TESTS), $(CC) $(CFLAGS) $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
$(foreach prog, $(TESTS), $(BUILD_DIR)/$(prog);)
|
||||
|
||||
.PHONY: profile clean check all
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
SOURCES = $(wildcard *.c)
|
||||
|
||||
OBJS = $(patsubst %.c, $(BUILD_DIR)/%.o, $(SOURCES))
|
||||
|
||||
LIB_OBJS = $(patsubst %.c, $(BUILD_DIR)/%.lo, $(SOURCES))
|
||||
|
||||
TEST_SOURCES = $(wildcard test/*.c)
|
||||
|
||||
PROF_SOURCES = $(wildcard profile/*.c)
|
||||
|
||||
TUNE_SOURCES = $(wildcard tune/*.c)
|
||||
|
||||
TESTS = $(patsubst %.c, %, $(TEST_SOURCES))
|
||||
|
||||
PROFS = $(patsubst %.c, %, $(PROF_SOURCES))
|
||||
|
||||
TUNE = $(patsubst %.c, %, $(TUNE_SOURCES))
|
||||
|
||||
all: $(OBJS)
|
||||
|
||||
library: $(LIB_OBJS)
|
||||
|
||||
profile:
|
||||
$(foreach prog, $(PROFS), $(CC) -O2 -std=c99 $(INCS) $(prog).c ../profiler.o -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
tune: $(TUNE_SOURCES)
|
||||
$(foreach prog, $(TUNE), $(CC) -O2 -std=c99 $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
$(BUILD_DIR)/%.o: %.c
|
||||
$(CC) $(CFLAGS) -c $(INCS) $< -o $@
|
||||
|
||||
$(BUILD_DIR)/%.lo: %.c
|
||||
$(CC) -fPIC $(CFLAGS) $(INCS) -c $< -o $@
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR)
|
||||
|
||||
check: library
|
||||
$(foreach prog, $(TESTS), $(CC) $(CFLAGS) $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
$(foreach prog, $(TESTS), $(BUILD_DIR)/$(prog);)
|
||||
|
||||
.PHONY: profile clean check all
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
SOURCES = $(wildcard *.c)
|
||||
|
||||
OBJS = $(patsubst %.c, $(BUILD_DIR)/%.o, $(SOURCES))
|
||||
|
||||
LIB_OBJS = $(patsubst %.c, $(BUILD_DIR)/%.lo, $(SOURCES))
|
||||
|
||||
TEST_SOURCES = $(wildcard test/*.c)
|
||||
|
||||
PROF_SOURCES = $(wildcard profile/*.c)
|
||||
|
||||
TUNE_SOURCES = $(wildcard tune/*.c)
|
||||
|
||||
TESTS = $(patsubst %.c, %, $(TEST_SOURCES))
|
||||
|
||||
PROFS = $(patsubst %.c, %, $(PROF_SOURCES))
|
||||
|
||||
TUNE = $(patsubst %.c, %, $(TUNE_SOURCES))
|
||||
|
||||
all: $(OBJS)
|
||||
|
||||
library: $(LIB_OBJS)
|
||||
|
||||
profile:
|
||||
$(foreach prog, $(PROFS), $(CC) -O2 -std=c99 $(INCS) $(prog).c ../profiler.o -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
tune: $(TUNE_SOURCES)
|
||||
$(foreach prog, $(TUNE), $(CC) -O2 -std=c99 $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
$(BUILD_DIR)/%.o: %.c
|
||||
$(CC) $(CFLAGS) -c $(INCS) $< -o $@
|
||||
|
||||
$(BUILD_DIR)/%.lo: %.c
|
||||
$(CC) -fPIC $(CFLAGS) $(INCS) -c $< -o $@
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR)
|
||||
|
||||
check: library
|
||||
$(foreach prog, $(TESTS), $(CC) $(CFLAGS) $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
$(foreach prog, $(TESTS), $(BUILD_DIR)/$(prog);)
|
||||
|
||||
.PHONY: profile clean check all
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
SOURCES = $(wildcard *.c)
|
||||
|
||||
OBJS = $(patsubst %.c, $(BUILD_DIR)/%.o, $(SOURCES))
|
||||
|
||||
LIB_OBJS = $(patsubst %.c, $(BUILD_DIR)/%.lo, $(SOURCES))
|
||||
|
||||
TEST_SOURCES = $(wildcard test/*.c)
|
||||
|
||||
PROF_SOURCES = $(wildcard profile/*.c)
|
||||
|
||||
TUNE_SOURCES = $(wildcard tune/*.c)
|
||||
|
||||
TESTS = $(patsubst %.c, %, $(TEST_SOURCES))
|
||||
|
||||
PROFS = $(patsubst %.c, %, $(PROF_SOURCES))
|
||||
|
||||
TUNE = $(patsubst %.c, %, $(TUNE_SOURCES))
|
||||
|
||||
all: $(OBJS)
|
||||
|
||||
library: $(LIB_OBJS)
|
||||
|
||||
profile:
|
||||
$(foreach prog, $(PROFS), $(CC) -O2 -std=c99 $(INCS) $(prog).c ../profiler.o -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
tune: $(TUNE_SOURCES)
|
||||
$(foreach prog, $(TUNE), $(CC) -O2 -std=c99 $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
$(BUILD_DIR)/%.o: %.c
|
||||
$(CC) $(CFLAGS) -c $(INCS) $< -o $@
|
||||
|
||||
$(BUILD_DIR)/%.lo: %.c
|
||||
$(CC) -fPIC $(CFLAGS) $(INCS) -c $< -o $@
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR)
|
||||
|
||||
check: library
|
||||
$(foreach prog, $(TESTS), $(CC) $(CFLAGS) $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
$(foreach prog, $(TESTS), $(BUILD_DIR)/$(prog);)
|
||||
|
||||
.PHONY: profile clean check all
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
SOURCES = $(wildcard *.c)
|
||||
|
||||
OBJS = $(patsubst %.c, $(BUILD_DIR)/%.o, $(SOURCES))
|
||||
|
||||
LIB_OBJS = $(patsubst %.c, $(BUILD_DIR)/%.lo, $(SOURCES))
|
||||
|
||||
TEST_SOURCES = $(wildcard test/*.c)
|
||||
|
||||
PROF_SOURCES = $(wildcard profile/*.c)
|
||||
|
||||
TUNE_SOURCES = $(wildcard tune/*.c)
|
||||
|
||||
TESTS = $(patsubst %.c, %, $(TEST_SOURCES))
|
||||
|
||||
PROFS = $(patsubst %.c, %, $(PROF_SOURCES))
|
||||
|
||||
TUNE = $(patsubst %.c, %, $(TUNE_SOURCES))
|
||||
|
||||
all: $(OBJS)
|
||||
|
||||
library: $(LIB_OBJS)
|
||||
|
||||
profile:
|
||||
$(foreach prog, $(PROFS), $(CC) -O2 -std=c99 $(INCS) $(prog).c ../profiler.o -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
tune: $(TUNE_SOURCES)
|
||||
$(foreach prog, $(TUNE), $(CC) -O2 -std=c99 $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
$(BUILD_DIR)/%.o: %.c
|
||||
$(CC) $(CFLAGS) -c $(INCS) $< -o $@
|
||||
|
||||
$(BUILD_DIR)/%.lo: %.c
|
||||
$(CC) -fPIC $(CFLAGS) $(INCS) -c $< -o $@
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR)
|
||||
|
||||
check: library
|
||||
$(foreach prog, $(TESTS), $(CC) $(CFLAGS) $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
$(foreach prog, $(TESTS), $(BUILD_DIR)/$(prog);)
|
||||
|
||||
.PHONY: profile clean check all
|
||||
|
43
mag/Makefile
43
mag/Makefile
|
@ -1,43 +0,0 @@
|
|||
SOURCES = $(wildcard *.c)
|
||||
|
||||
OBJS = $(patsubst %.c, $(BUILD_DIR)/%.o, $(SOURCES))
|
||||
|
||||
LIB_OBJS = $(patsubst %.c, $(BUILD_DIR)/%.lo, $(SOURCES))
|
||||
|
||||
TEST_SOURCES = $(wildcard test/*.c)
|
||||
|
||||
PROF_SOURCES = $(wildcard profile/*.c)
|
||||
|
||||
TUNE_SOURCES = $(wildcard tune/*.c)
|
||||
|
||||
TESTS = $(patsubst %.c, %, $(TEST_SOURCES))
|
||||
|
||||
PROFS = $(patsubst %.c, %, $(PROF_SOURCES))
|
||||
|
||||
TUNE = $(patsubst %.c, %, $(TUNE_SOURCES))
|
||||
|
||||
all: $(OBJS)
|
||||
|
||||
library: $(LIB_OBJS)
|
||||
|
||||
profile:
|
||||
$(foreach prog, $(PROFS), $(CC) -O2 -std=c99 $(INCS) $(prog).c ../profiler.o -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
tune: $(TUNE_SOURCES)
|
||||
$(foreach prog, $(TUNE), $(CC) -O2 -std=c99 $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
$(BUILD_DIR)/%.o: %.c
|
||||
$(CC) $(CFLAGS) -c $(INCS) $< -o $@
|
||||
|
||||
$(BUILD_DIR)/%.lo: %.c
|
||||
$(CC) -fPIC $(CFLAGS) $(INCS) -c $< -o $@
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR)
|
||||
|
||||
check: library
|
||||
$(foreach prog, $(TESTS), $(CC) $(CFLAGS) $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
$(foreach prog, $(TESTS), $(BUILD_DIR)/$(prog);)
|
||||
|
||||
.PHONY: profile clean check all
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
SOURCES = $(wildcard *.c)
|
||||
|
||||
OBJS = $(patsubst %.c, $(BUILD_DIR)/%.o, $(SOURCES))
|
||||
|
||||
LIB_OBJS = $(patsubst %.c, $(BUILD_DIR)/%.lo, $(SOURCES))
|
||||
|
||||
TEST_SOURCES = $(wildcard test/*.c)
|
||||
|
||||
PROF_SOURCES = $(wildcard profile/*.c)
|
||||
|
||||
TUNE_SOURCES = $(wildcard tune/*.c)
|
||||
|
||||
TESTS = $(patsubst %.c, %, $(TEST_SOURCES))
|
||||
|
||||
PROFS = $(patsubst %.c, %, $(PROF_SOURCES))
|
||||
|
||||
TUNE = $(patsubst %.c, %, $(TUNE_SOURCES))
|
||||
|
||||
all: $(OBJS)
|
||||
|
||||
library: $(LIB_OBJS)
|
||||
|
||||
profile:
|
||||
$(foreach prog, $(PROFS), $(CC) -O2 -std=c99 $(INCS) $(prog).c ../profiler.o -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
tune: $(TUNE_SOURCES)
|
||||
$(foreach prog, $(TUNE), $(CC) -O2 -std=c99 $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
$(BUILD_DIR)/%.o: %.c
|
||||
$(CC) $(CFLAGS) -c $(INCS) $< -o $@
|
||||
|
||||
$(BUILD_DIR)/%.lo: %.c
|
||||
$(CC) -fPIC $(CFLAGS) $(INCS) -c $< -o $@
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR)
|
||||
|
||||
check: library
|
||||
$(foreach prog, $(TESTS), $(CC) $(CFLAGS) $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
$(foreach prog, $(TESTS), $(BUILD_DIR)/$(prog);)
|
||||
|
||||
.PHONY: profile clean check all
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
SOURCES = $(wildcard *.c)
|
||||
|
||||
OBJS = $(patsubst %.c, $(BUILD_DIR)/%.o, $(SOURCES))
|
||||
|
||||
LIB_OBJS = $(patsubst %.c, $(BUILD_DIR)/%.lo, $(SOURCES))
|
||||
|
||||
TEST_SOURCES = $(wildcard test/*.c)
|
||||
|
||||
PROF_SOURCES = $(wildcard profile/*.c)
|
||||
|
||||
TUNE_SOURCES = $(wildcard tune/*.c)
|
||||
|
||||
TESTS = $(patsubst %.c, %, $(TEST_SOURCES))
|
||||
|
||||
PROFS = $(patsubst %.c, %, $(PROF_SOURCES))
|
||||
|
||||
TUNE = $(patsubst %.c, %, $(TUNE_SOURCES))
|
||||
|
||||
all: $(OBJS)
|
||||
|
||||
library: $(LIB_OBJS)
|
||||
|
||||
profile:
|
||||
$(foreach prog, $(PROFS), $(CC) -O2 -std=c99 $(INCS) $(prog).c ../profiler.o -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
tune: $(TUNE_SOURCES)
|
||||
$(foreach prog, $(TUNE), $(CC) -O2 -std=c99 $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
|
||||
$(BUILD_DIR)/%.o: %.c
|
||||
$(CC) $(CFLAGS) -c $(INCS) $< -o $@
|
||||
|
||||
$(BUILD_DIR)/%.lo: %.c
|
||||
$(CC) -fPIC $(CFLAGS) $(INCS) -c $< -o $@
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR)
|
||||
|
||||
check: library
|
||||
$(foreach prog, $(TESTS), $(CC) $(CFLAGS) $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) -lflint;)
|
||||
$(foreach prog, $(TESTS), $(BUILD_DIR)/$(prog);)
|
||||
|
||||
.PHONY: profile clean check all
|
||||
|
Loading…
Add table
Reference in a new issue