Integrate bignum library

This commit is contained in:
Justin Ethier 2019-10-17 18:17:19 -04:00
parent f143c26024
commit 4a4d2c57af

View file

@ -10,6 +10,12 @@ CYCLONE = cyclone -A .
CCOMP = $(CC) $(CFLAGS) CCOMP = $(CC) $(CFLAGS)
INDENT_CMD = indent -linux -l80 -i2 -nut INDENT_CMD = indent -linux -l80 -i2 -nut
# Libraries
CYC_RT_LIB = libcyclone.a
CYC_BN_LIB = libcyclonebn.a
CYC_BN_LIB_SUBDIR = third-party/libtommath-1.1.0
CYC_LIBS = $(CYC_RT_LIB) $(CYC_BN_LIB)
# Directories # Directories
BOOTSTRAP_DIR = ../cyclone-bootstrap BOOTSTRAP_DIR = ../cyclone-bootstrap
SCHEME_DIR = scheme SCHEME_DIR = scheme
@ -55,6 +61,7 @@ clean :
rm -f tests/array-list-tests rm -f tests/array-list-tests
rm -f tests/macro-hygiene rm -f tests/macro-hygiene
rm -f tests/match-tests rm -f tests/match-tests
cd $(CYC_BN_LIB_SUBDIR) ; make clean
install : libs install-libs install-includes install-bin install : libs install-libs install-includes install-bin
$(MKDIR) $(DESTDIR)$(DATADIR) $(MKDIR) $(DESTDIR)$(DATADIR)
@ -88,7 +95,8 @@ install : libs install-libs install-includes install-bin
uninstall : uninstall :
$(RM) $(DESTDIR)$(BINDIR)/cyclone $(RM) $(DESTDIR)$(BINDIR)/cyclone
$(RM) $(DESTDIR)$(BINDIR)/icyc $(RM) $(DESTDIR)$(BINDIR)/icyc
$(RM) $(DESTDIR)$(LIBDIR)/libcyclone.a $(RM) $(DESTDIR)$(LIBDIR)/$(CYC_RT_LIB)
$(RM) $(DESTDIR)$(LIBDIR)/$(CYC_BN_LIB)
$(RM) $(DESTDIR)$(INCDIR)/*.* $(RM) $(DESTDIR)$(INCDIR)/*.*
$(RMDIR) $(DESTDIR)$(INCDIR) $(RMDIR) $(DESTDIR)$(INCDIR)
$(RM) $(DESTDIR)$(DATADIR)/scheme/cyclone/*.* $(RM) $(DESTDIR)$(DATADIR)/scheme/cyclone/*.*
@ -152,21 +160,21 @@ libs : $(COBJECTS)
$(COBJECTS) : %.o: %.sld $(COBJECTS) : %.o: %.sld
$(CYCLONE) $< $(CYCLONE) $<
cyclone : cyclone.scm libcyclone.a cyclone : cyclone.scm $(CYC_RT_LIB) $(CYC_BN_LIB)
$(CYCLONE) cyclone.scm $(CYCLONE) cyclone.scm
icyc : icyc.scm libcyclone.a icyc : icyc.scm $(CYC_RT_LIB) $(CYC_BN_LIB)
$(CYCLONE) $< $(CYCLONE) $<
dispatch.c : generate-c.scm dispatch.c : generate-c.scm
$(CYCLONE) $< $(CYCLONE) $<
./generate-c ./generate-c
libcyclone.a : $(CFILES) $(HEADERS) third-party/libtommath-1.1.0/libcyclonebn.a $(CYC_RT_LIB) : $(CFILES) $(HEADERS) $(CYC_BN_LIB)
# JAE TODO: clean this up # JAE TODO: clean this up
third-party/libtommath-1.1.0/libcyclonebn.a : third-party/libtommath-1.1.0/*.c $(CYC_BN_LIB) : $(CYC_BN_LIB_SUBDIR)/*.c
cd third-party/libtommath-1.1.0 ; make LIBNAME=libcyclonebn.a cd $(CYC_BN_LIB_SUBDIR) ; make LIBNAME=libcyclonebn.a && cp libcyclonebn.a ../..
hashset.o : hashset.c $(HEADERS) hashset.o : hashset.c $(HEADERS)
$(CCOMP) -c $< -o $@ $(CCOMP) -c $< -o $@
@ -305,9 +313,10 @@ install-includes : $(HEADER_DIR)/*.h
$(MKDIR) $(DESTDIR)$(INCDIR) $(MKDIR) $(DESTDIR)$(INCDIR)
$(INSTALL) -m0644 $(HEADER_DIR)/*.h $(DESTDIR)$(INCDIR)/ $(INSTALL) -m0644 $(HEADER_DIR)/*.h $(DESTDIR)$(INCDIR)/
install-libs : libcyclone.a install-libs : $(CYC_LIBS)
$(MKDIR) $(DESTDIR)$(LIBDIR) $(MKDIR) $(DESTDIR)$(LIBDIR)
$(INSTALL) -m0644 libcyclone.a $(DESTDIR)$(LIBDIR)/ $(INSTALL) -m0644 $(CYC_RT_LIB) $(DESTDIR)$(LIBDIR)/
$(INSTALL) -m0644 $(CYC_BN_LIB) $(DESTDIR)$(LIBDIR)/
install-bin : cyclone icyc install-bin : cyclone icyc
$(MKDIR) $(DESTDIR)$(BINDIR) $(MKDIR) $(DESTDIR)$(BINDIR)