# makefile for Gambit-C compiler. # Copyright (C) 1994-2006 by Marc Feeley, All Rights Reserved. herefromroot = gsc rootfromhere = .. escrootfromhere = ".." SUBDIRS = PACKAGE_SHORTNAME = gambc PACKAGE_NAME = Gambit-C PACKAGE_VERSION = 4.0b20 PACKAGE_STRING = Gambit-C 4.0b20 PACKAGE_BUGREPORT = gambit@iro.umontreal.ca PACKAGE_TARNAME = gambc-4.0b20 PACKAGE_SUBDIR = /4.0b20 srcdir = . srcdirpfx = C_COMPILER = arm-eabi-gcc C_PREPROC = arm-eabi-gcc -E FLAGS_OBJ = -DNDS -DUSE_DSWIFI -Wall -W -Wno-unused -O1 -fno-math-errno -fschedule-insns2 -fno-trapping-math -fno-strict-aliasing -fwrapv -fexpensive-optimizations -fforce-addr -fpeephole2 -falign-jumps -falign-functions -fno-function-cse -ftree-copyrename -ftree-fre -ftree-dce -fregmove -fgcse-las -freorder-functions -fcaller-saves -fno-if-conversion2 -foptimize-sibling-calls -fcse-skip-blocks -funit-at-a-time -finline-functions -fmodulo-sched -freschedule-modulo-scheduled-loops -fomit-frame-pointer -fPIC -fno-common FLAGS_DYN = -specs=ds_arm7.specs -Wall -W -Wno-unused -O1 -fno-math-errno -fschedule-insns2 -fno-trapping-math -fno-strict-aliasing -fwrapv -fexpensive-optimizations -fforce-addr -fpeephole2 -falign-jumps -falign-functions -fno-function-cse -ftree-copyrename -ftree-fre -ftree-dce -fregmove -fgcse-las -freorder-functions -fcaller-saves -fno-if-conversion2 -foptimize-sibling-calls -fcse-skip-blocks -funit-at-a-time -finline-functions -fmodulo-sched -freschedule-modulo-scheduled-loops -fomit-frame-pointer -fPIC -fno-common -rdynamic FLAGS_LIB = -specs=ds_arm7.specs -rdynamic FLAGS_EXE = -specs=ds_arm7.specs -rdynamic DEFS = -DHAVE_CONFIG_H LIBS = -lm -lc -lsysbase GAMBCLIB = libgambc.a INSTALL = $(rootfromhere)/install-sh -c INSTALL_DATA = $(rootfromhere)/install-sh -c -m 644 INSTALL_LIB = $(rootfromhere)/install-sh -c -m 644 INSTALL_PROGRAM = $(rootfromhere)/install-sh -c -m 755 LN_S = ln -s RANLIB = arm-eabi-ranlib prefix = /usr/local/Gambit-DS exec_prefix = /usr/local/Gambit-DS includedir = $(prefix)$(PACKAGE_SUBDIR)/include libdir = $(prefix)$(PACKAGE_SUBDIR)/lib bindir = $(prefix)$(PACKAGE_SUBDIR)/bin docdir = $(prefix)$(PACKAGE_SUBDIR)/doc infodir = $(prefix)$(PACKAGE_SUBDIR)/info emacsdir = $(prefix)$(PACKAGE_SUBDIR)/share/emacs/site-lisp .SUFFIXES: .SUFFIXES: .scm .c .o .c.o: $(C_COMPILER) $(INCLUDES) $(FLAGS_OBJ) $(DEFS) -c $(srcdirpfx)$*.c .scm.c: $(rootfromhere)/gsc/gsc -:=$(srcdirpfx)$(escrootfromhere) -f -c -check $(srcdirpfx)$*.scm INCLUDES = -I$(srcdirpfx)$(rootfromhere)/include MODULES = _host _utils _source _parms \ _env _ptree1 _ptree2 _gvm _back _front _prims \ _t-c-1 _t-c-2 _t-c-3 _gsc MODULES_SCM = _host.scm _utils.scm _source.scm _parms.scm \ _env.scm _ptree1.scm _ptree2.scm _gvm.scm _back.scm _front.scm \ _prims.scm _t-c-1.scm _t-c-2.scm _t-c-3.scm _gsc.scm MODULES_C = _host.c _utils.c _source.c _parms.c \ _env.c _ptree1.c _ptree2.c _gvm.c _back.c _front.c \ _prims.c _t-c-1.c _t-c-2.c _t-c-3.c _gsc.c MODULES_O = _host.o _utils.o _source.o _parms.o \ _env.o _ptree1.o _ptree2.o _gvm.o _back.o _front.o \ _prims.o _t-c-1.o _t-c-2.o _t-c-3.o _gsc.o MODULES_O_PLUS = +_host.o +_utils.o +_source.o +_parms.o \ +_env.o +_ptree1.o +_ptree2.o +_gvm.o +_back.o +_front.o \ +_prims.o +_t-c-1.o +_t-c-2.o +_t-c-3.o +_gsc.o MODULES_O_COMMA = _host.o,_utils.o,_source.o,_parms.o,\ _env.o,_ptree1.o,_ptree2.o,_gvm.o,_back.o,_front.o,\ _prims.o,_t-c-1.o,_t-c-2.o,_t-c-3.o,_gsc.o MODULES_O_IN_COMPILE_ORDER = _t-c-2.o _ptree1.o _ptree2.o \ _front.o _t-c-1.o _gvm.o _source.o _t-c-3.o _utils.o \ _parms.o _host.o _env.o _prims.o _back.o _gsc.o SOURCES = $(MODULES_C) _gsc_.c $(MODULES_SCM) _envadt.scm _gvmadt.scm _ptreeadt.scm _sourceadt.scm EXECUTABLE = gsc OBJECTS = $(MODULES_O) _gsc_.o OBJECTS_PLUS = $(MODULES_O_PLUS) +_gsc_.o OBJECTS_COMMA = $(MODULES_O_COMMA),_gsc_.o OBJECTS_IN_COMPILE_ORDER = $(MODULES_O_IN_COMPILE_ORDER) _gsc_.o DISTFILES = makefile.in fixnum.scm generic.scm igsc.scm $(SOURCES) all: all-recursive all-local all-local: gsc gsc: $(OBJECTS_IN_COMPILE_ORDER) $(srcdirpfx)$(rootfromhere)/lib/$(GAMBCLIB) $(C_COMPILER) $(FLAGS_EXE) $(OBJECTS) $(rootfromhere)/lib/$(GAMBCLIB) $(LIBS) -o $(EXECUTABLE) _gsc_.c: $(MODULES_C) $(srcdirpfx)$(rootfromhere)/lib/_gambc.c $(rootfromhere)/gsc/gsc -:=$(srcdirpfx)$(escrootfromhere) -f -link $(MODULES_C) $(MODULES_C): $(srcdirpfx)fixnum.scm $(srcdirpfx)generic.scm \ $(srcdirpfx)$(rootfromhere)/lib/header.scm install-local: all $(srcdirpfx)$(rootfromhere)/mkidirs $(bindir) : $(INSTALL_PROGRAM) gsc $(bindir)/gsc uninstall-local: rm -f $(bindir)/gsc mostlyclean-local: rm -f $(OBJECTS) clean-local: mostlyclean-local rm -f $(MODULES_C) _gsc_.c *.da *.bb *.bbg *.gcov distclean-local: clean-local rm -f makefile realclean-local: distclean-local rm -f gsc all-recursive install-recursive uninstall-recursive mostlyclean-recursive clean-recursive distclean-recursive realclean-recursive: @if test -n "$(SUBDIRS)"; then \ for subdir in ""$(SUBDIRS); do \ target=`echo $@ | sed 's/-recursive//'`; \ echo making $$target in $$subdir; \ (cd $$subdir && $(MAKE) $$target) || exit 1; \ done \ fi install: install-recursive install-local uninstall: uninstall-recursive uninstall-local mostlyclean: mostlyclean-recursive mostlyclean-local clean: clean-recursive clean-local distclean: distclean-recursive distclean-local realclean: realclean-recursive realclean-local dist: @if test -n "$(SUBDIRS)"; then \ for subdir in ""$(SUBDIRS); do \ echo making $@ in $$subdir; \ mkdir $(rootfromhere)/$(PACKAGE_TARNAME)/$(herefromroot)/$$subdir; \ chmod 777 $(rootfromhere)/$(PACKAGE_TARNAME)/$(herefromroot)/$$subdir; \ (cd $$subdir && $(MAKE) $(MDEFINES) $@) || exit 1; \ done \ fi @echo "Copying distribution files" @for file in $(DISTFILES); do \ ln $(srcdirpfx)$$file $(rootfromhere)/$(PACKAGE_TARNAME)/$(herefromroot) 2> /dev/null \ || cp -p $(srcdirpfx)$$file $(rootfromhere)/$(PACKAGE_TARNAME)/$(herefromroot); \ done makefile: makefile.in $(rootfromhere)/config.status cd $(rootfromhere) && CONFIG_FILES=$(herefromroot)/$@ CONFIG_HEADERS= ./config.status # Tell versions [3.59,3.63) of GNU make not to export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: