# 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 = 



srcdir = .

srcdirpfx = 

C_COMPILER = cc
C_PREPROC = cc -E
FLAGS_OBJ = -fno-common -O1
FLAGS_DYN =  -O1 -shared
FLAGS_LIB =  -shared
FLAGS_EXE = 
DEFS = -DHAVE_CONFIG_H
LIBS = 

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 = ranlib

prefix = 
exec_prefix = ${prefix}
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 .

.c.:
	$(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. _utils. _source. _parms. \
_env. _ptree1. _ptree2. _gvm. _back. _front. \
_prims. _t-c-1. _t-c-2. _t-c-3. _gsc.
MODULES_O_PLUS = +_host. +_utils. +_source. +_parms. \
+_env. +_ptree1. +_ptree2. +_gvm. +_back. +_front. \
+_prims. +_t-c-1. +_t-c-2. +_t-c-3. +_gsc.
MODULES_O_COMMA = _host.,_utils.,_source.,_parms.,\
_env.,_ptree1.,_ptree2.,_gvm.,_back.,_front.,\
_prims.,_t-c-1.,_t-c-2.,_t-c-3.,_gsc.
MODULES_O_IN_COMPILE_ORDER = _t-c-2. _ptree1. _ptree2. \
_front. _t-c-1. _gvm. _source. _t-c-3. _utils. \
_parms. _host. _env. _prims. _back. _gsc.

SOURCES = $(MODULES_C) _gsc_.c $(MODULES_SCM) _envadt.scm _gvmadt.scm _ptreeadt.scm _sourceadt.scm
EXECUTABLE = gsc
OBJECTS = $(MODULES_O) _gsc_.
OBJECTS_PLUS = $(MODULES_O_PLUS) +_gsc_.
OBJECTS_COMMA = $(MODULES_O_COMMA),_gsc_.
OBJECTS_IN_COMPILE_ORDER = $(MODULES_O_IN_COMPILE_ORDER) _gsc_.

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:


syntax highlighted by Code2HTML, v. 0.9.1