(linenum→info "unix/slp.c:2238")

gauche/0.8.12/src/Makefile.in

    1: #
    2: # Makefile.in for Gauche/src
    3: #  $Id: Makefile.in,v 1.174 2007/09/10 21:18:38 shirok Exp $
    4: #
    5: 
    6: # prelude ---------------------------------------------
    7: 
    8: .PHONY: all test check pre-package install uninstall \
    9:         clean distclean maintainer-clean install-check
   10: 
   11: .SUFFIXES:
   12: .SUFFIXES: .S .c .o .obj .s .stub .in .exe
   13: 
   14: .c.obj:
   15:         $(COMPILE) -c `cygpath -w $<`
   16: 
   17: .c.o:
   18:         $(COMPILE) -c $<
   19: 
   20: .s.o:
   21:         $(COMPILE) -c $<
   22: 
   23: .S.o:
   24:         $(COMPILE) -c $<
   25: 
   26: .stub.c:
   27:         $(HOSTGOSH) ./genstub -D LIBGAUCHE_BODY $<
   28: 
   29: SHELL       = @SHELL@
   30: prefix      = @prefix@
   31: exec_prefix = @exec_prefix@
   32: bindir      = @bindir@
   33: libdir      = @libdir@
   34: srcdir      = @srcdir@
   35: datadir     = @datadir@
   36: datarootdir = @datarootdir@
   37: VPATH       = $(srcdir)
   38: top_builddir = @top_builddir@
   39: top_srcdir   = @top_srcdir@
   40: 
   41: # These may be overridden by make invocators
   42: DESTDIR  =
   43: CC       = @CC@
   44: AR       = @AR@
   45: LIBS     = @LIBS@
   46: CFLAGS   = @CFLAGS@ @SHLIB_SO_CFLAGS@
   47: CPPFLAGS = @CPPFLAGS@
   48: LDFLAGS  = @LDFLAGS@
   49: 
   50: 
   51: # These are set by configure
   52: DEFS     = @DEFS@
   53: OPTFLAGS = @OPTFLAGS@
   54: INCLUDES = -I$(srcdir) -I$(srcdir)/../gc/include @LOCAL_INC@
   55: RANLIB   = @RANLIB@
   56: OBJEXT   = @OBJEXT@
   57: EXEEXT   = @EXEEXT@
   58: SOEXT    = @SHLIB_DYLIB_SUFFIX@
   59: LINK_HELPER = @LINK_HELPER@
   60: RPATH_TMP  = @RPATH_TMP@
   61: RPATH_REAL = @RPATH_REAL@
   62: SONAME_FLAG = @SONAME_FLAG@
   63: MAKEVERSLINK = @MAKEVERSLINK@
   64: 
   65: # Main definition of compilation commands
   66: COMPILE   = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(OPTFLAGS)
   67: MKINSTDIR = $(top_srcdir)/mkinstalldirs
   68: CCLD      = $(LINK_HELPER) $(CC)
   69: LINK      = TARGETLIB=`pwd` $(CCLD) $(CFLAGS) $(RPATH_TMP) -L. $(LDFLAGS)
   70: RELINK    = TARGETLIB=$(TARGETLIB) $(CCLD) $(CFLAGS) $(RPATH_REAL) -L. $(LDFLAGS)
   71: INSTALL   = @INSTALL@
   72: POSTBUILD = TARGETLIB=`pwd` $(MAKEVERSLINK) libgauche.$(SOEXT)
   73: POSTINSTALL = TARGETLIB="$(TARGETLIB)" DESTDIR="$(DESTDIR)" $(MAKEVERSLINK) libgauche.$(SOEXT)
   74: 
   75: GENCOMP   = $(srcdir)/gencomp -D LIBGAUCHE_BODY
   76: 
   77: # HOSTGOSH is the gosh command used to generate some of the source files.
   78: # We need to 'preload' some libraries from the host's environment, for
   79: # they are compiled DSO as of 0.8.6 and the ones in the build tree can
   80: # be incompatible with the host gosh.
   81: # (NB: HOSTGOSH is only invoked building from CVS; it won't be called
   82: # when building from tarball.)
   83: # We clear GAUCHE_LOAD_PATH to make sure we won't read nonstandard stuff.
   84: HOSTGOSH  = GAUCHE_LOAD_PATH="" GAUCHE_DYNLOAD_PATH="" \
   85:             gosh -l./preload -I$(top_srcdir)/src -I$(top_srcdir)/lib
   86: 
   87: LIB_INSTALL_DIR  = @libdir@
   88: BIN_INSTALL_DIR  = @bindir@
   89: DATA_INSTALL_DIR = $(datadir)
   90: 
   91: GAUCHE_DATA_DIR = $(datadir)/gauche
   92: GAUCHE_ARCH_DIR = @libdir@/gauche
   93: 
   94: HEADER_INSTALL_DIR    = $(GAUCHE_ARCH_DIR)/@GAUCHE_VERSION@/include
   95: SCM_INSTALL_DIR       = $(GAUCHE_DATA_DIR)/@GAUCHE_VERSION@/lib
   96: ARCH_INSTALL_DIR      = $(GAUCHE_ARCH_DIR)/@GAUCHE_VERSION@/@target@
   97: SITE_SCM_DIR          = $(GAUCHE_DATA_DIR)/site/lib
   98: SITE_ARCH_DIR         = $(GAUCHE_ARCH_DIR)/site/@GAUCHE_VERSION@/@target@
   99: ARCH = @target@
  100: 
  101: # targetlib is given when we relink the final version of gosh to embed
  102: # the path to libgauche.  Usually it is LIB_INSTALL_DIR, but under
  103: # certain circumstances (e.g. MacOSX framework build) it may be overridden.
  104: TARGETLIB=$(LIB_INSTALL_DIR)
  105: 
  106: INSTALL_HEADERS = gauche.h \
  107:         ../gc/include/gc.h \
  108:         ../gc/include/gc_config_macros.h \
  109:         ../gc/include/gc_pthread_redirects.h
  110: INSTALL_SUBHEADERS = gauche/config.h                                  \
  111:                     gauche/vm.h gauche/code.h gauche/vminsn.h        \
  112:                      gauche/bits.h gauche/collection.h                \
  113:                      gauche/string.h gauche/charset.h                 \
  114:                      gauche/char_euc_jp.h gauche/char_utf_8.h         \
  115:                      gauche/char_sjis.h gauche/char_none.h            \
  116:                      gauche/symbol.h gauche/keyword.h gauche/gloc.h   \
  117:                      gauche/number.h gauche/bignum.h gauche/vector.h  \
  118:                      gauche/hash.h gauche/treemap.h gauche/parameter.h \
  119:                      gauche/load.h gauche/port.h gauche/system.h      \
  120:                      gauche/weak.h gauche/class.h gauche/exception.h  \
  121:                      gauche/builtin-syms.h gauche/extern.h            \
  122:                      gauche/extend.h gauche/int64.h gauche/float.h    \
  123:                      gauche/scmconst.h                                \
  124:                      gauche/pthread.h gauche/uthread.h gauche/arch.h  \
  125:                      gauche/mingw-compat.h
  126: INSTALL_LIBS = libgauche.$(SOEXT)
  127: INSTALL_BINS = gosh$(EXEEXT)           \
  128:                gauche-config$(EXEEXT)  \
  129:                gauche-install$(EXEEXT) \
  130:                gauche-package$(EXEEXT) \
  131:                gauche-cesconv$(EXEEXT)
  132: INSTALL_SCMS = gauche-init.scm genstub cesconv
  133: 
  134: GENERATED_SCRIPTS = gauche-install gauche-package gauche-cesconv
  135: 
  136: PRIVATE_HEADERS = gauche/arith.h 
  137: 
  138: # MinGW specific
  139: INSTALL_MINGWHEADERS = gauche/mingw-compat.h
  140: 
  141: # build -----------------------------------------------
  142: 
  143: GCLIB = ../gc/libgc.la
  144: 
  145: gosh_SOURCES = main.c
  146: gosh_OBJECTS = main.$(OBJEXT)
  147: gosh_LDADD   = -lgauche
  148: gosh_LDFLAGS = @SHLIB_MAIN_LDFLAGS@
  149: 
  150: libgauche_LIBRARY = libgauche.$(SOEXT)
  151: libgauche_OBJECTS = \
  152:         core.$(OBJEXT) vm.$(OBJEXT) compaux.$(OBJEXT) macro.$(OBJEXT) \
  153:         code.$(OBJEXT) error.$(OBJEXT) class.$(OBJEXT) prof.$(OBJEXT) \
  154:         collection.$(OBJEXT) \
  155:         boolean.$(OBJEXT) char.$(OBJEXT) string.$(OBJEXT) list.$(OBJEXT) \
  156:         hash.$(OBJEXT) treemap.$(OBJEXT) bits.$(OBJEXT) \
  157:         port.$(OBJEXT) write.$(OBJEXT) read.$(OBJEXT) \
  158:         vector.$(OBJEXT) weak.$(OBJEXT) symbol.$(OBJEXT) keyword.$(OBJEXT) \
  159:         gloc.$(OBJEXT) compare.$(OBJEXT) regexp.$(OBJEXT) signal.$(OBJEXT) \
  160:         parameter.$(OBJEXT) module.$(OBJEXT) proc.$(OBJEXT) \
  161:         number.$(OBJEXT) bignum.$(OBJEXT) load.$(OBJEXT) paths.$(OBJEXT) \
  162:         promise.$(OBJEXT) repl.$(OBJEXT) autoloads.$(OBJEXT) \
  163:         system.$(OBJEXT) stdlib.$(OBJEXT) extlib.$(OBJEXT) exclib.$(OBJEXT) \
  164:         syslib.$(OBJEXT) moplib.$(OBJEXT) intlib.$(OBJEXT) compile.$(OBJEXT) \
  165:         scmlib.$(OBJEXT) objlib.$(OBJEXT)
  166: libgauche_LDFLAGS = $(SONAME_FLAG) @SHLIB_DYLIB_LDFLAGS@
  167: 
  168: HEADERS = gauche.h $(INSTALL_SUBHEADERS) $(PRIVATE_HEADERS)
  169: 
  170: OBJECTS = $(libgauche_OBJECTS) $(gosh_OBJECTS)
  171: 
  172: all : libgauche.$(SOEXT) $(INSTALL_BINS) $(GENERATED_SCRIPTS)
  173: 
  174: gosh$(EXEEXT) : libgauche.$(SOEXT) $(gosh_OBJECTS) 
  175:         @rm -f gosh$(EXEEXT)
  176:         $(LINK) $(gosh_LDFLAGS) -o gosh$(EXEEXT) $(gosh_OBJECTS) $(gosh_LDADD) $(LIBS)
  177: 
  178: relink :
  179:         $(RELINK) $(libgauche_LDFLAGS) libgauche.$(SOEXT) $(libgauche_OBJECTS) ../gc/*.lo $(LIBS)
  180:         $(RELINK) $(gosh_LDFLAGS) -o gosh$(EXEEXT)  $(gosh_OBJECTS) $(gosh_LDADD) $(LIBS)
  181: 
  182: $(OBJECTS) : $(HEADERS)
  183: 
  184: stdlib.c : stdlib.stub genstub 
  185: extlib.c : extlib.stub genstub
  186: exclib.c : exclib.stub genstub
  187: syslib.c : syslib.stub genstub
  188: moplib.c : moplib.stub genstub
  189: intlib.c : intlib.stub genstub
  190: 
  191: autoloads.c : autoloads.scm
  192:         $(HOSTGOSH) ./autoloads.scm
  193: 
  194: builtin-syms.c gauche/builtin-syms.h : builtin-syms.scm
  195:         $(HOSTGOSH) ./builtin-syms.scm
  196: 
  197: vminsn.c gauche/vminsn.h ../lib/gauche/vm/insn.scm : vminsn.scm geninsn
  198:         $(HOSTGOSH) ./geninsn
  199: 
  200: compile.c : compile.scm gencomp vminsn.scm
  201:         $(HOSTGOSH) $(GENCOMP) compile.scm
  202: 
  203: scmlib.c : scmlib.scm gencomp vminsn.scm
  204:         $(HOSTGOSH) $(GENCOMP) scmlib.scm
  205: 
  206: objlib.c : objlib.scm gencomp vminsn.scm
  207:         $(HOSTGOSH) $(GENCOMP) objlib.scm
  208: 
  209: symbol.$(OBJEXT) : builtin-syms.c
  210: 
  211: port.$(OBJEXT) : port.c portapi.c
  212: 
  213: vm.$(OBJEXT) : vminsn.c vmstat.c
  214: 
  215: load.$(OBJEXT) : dl_dlopen.c dl_dummy.c dl_win.c dl_darwin.c
  216: 
  217: paths.$(OBJEXT) : getdir_win.c getdir_dummy.c getdir_darwin.c
  218: 
  219: libgauche.$(SOEXT) : $(libgauche_OBJECTS) $(GCLIB)
  220:         $(LINK) $(libgauche_LDFLAGS) libgauche.$(SOEXT) $(libgauche_OBJECTS) ../gc/*.lo $(LIBS)
  221:         $(POSTBUILD)
  222: 
  223: gauche-config$(EXEEXT) : gauche-config.$(OBJEXT)
  224:         $(LINK) -o gauche-config$(EXEEXT) gauche-config.$(OBJEXT) $(LIBS)
  225: 
  226: gauche-config.c gauche/arch.h ../lib/gauche/config.scm : genconfig
  227:         $(SHELL) ./genconfig
  228: 
  229: gauche-install : gauche-install.in
  230:         @rm -f gauche-install
  231:         echo "#!$(BIN_INSTALL_DIR)/gosh" > gauche-install && \
  232:         cat gauche-install.in >> gauche-install
  233:         @chmod -w gauche-install
  234: 
  235: gauche-package : gauche-package.in
  236:         @rm -f gauche-package
  237:         echo "#!$(BIN_INSTALL_DIR)/gosh" > gauche-package && \
  238:         cat gauche-package.in >> gauche-package
  239:         @chmod -w gauche-package
  240: 
  241: gauche-cesconv : gauche-cesconv.in
  242:         @rm -f gauche-cesconv
  243:         echo "#!$(BIN_INSTALL_DIR)/gosh" > gauche-cesconv && \
  244:         cat gauche-cesconv.in >> gauche-cesconv
  245:         @chmod -w gauche-cesconv
  246: 
  247: # a special build sequence when VM instruction set has been changed
  248: newinsn : 
  249:         $(HOSTGOSH) -fno-inline-globals $(GENCOMP) compile.scm
  250:         $(HOSTGOSH) -fno-inline-globals $(GENCOMP) scmlib.scm
  251:         $(HOSTGOSH) -fno-inline-globals $(GENCOMP) objlib.scm
  252:         $(MAKE) all
  253:         ./gosh -ftest $(GENCOMP) compile.scm
  254:         ./gosh -ftest $(GENCOMP) scmlib.scm
  255:         ./gosh -ftest $(GENCOMP) objlib.scm
  256:         $(MAKE) all
  257: 
  258: # tests -----------------------------------------------
  259: TESTFILES = `cat ../test/TESTS`
  260: 
  261: TESTRECORD = $(top_builddir)/test.record
  262: 
  263: check : test
  264: 
  265: test : gosh$(EXEEXT) test-vmstack$(EXEEXT) test-arith$(EXEEXT)
  266:         @rm -f test.log $(TESTRECORD)
  267:         ./test-vmstack >> test.log
  268:         ./test-arith >> test.log
  269:         @for testfile in $(TESTFILES); do \
  270:           GAUCHE_TEST_RECORD_FILE=$(TESTRECORD) \
  271:           ./gosh -ftest -I../test $$testfile >> test.log; \
  272:         done
  273:         @GAUCHE_TEST_RECORD_FILE=$(TESTRECORD) \
  274:          ./gosh -ftest -e "(define *case-fold* #f)" ../test/symcase.scm >> test.log
  275:         @GAUCHE_TEST_RECORD_FILE=$(TESTRECORD) \
  276:          ./gosh -ftest -fcase-fold -e "(define *case-fold* #t)" ../test/symcase.scm >> test.log
  277:         @echo "See test.log for details."
  278: 
  279: test-vmstack$(EXEEXT) : test-vmstack.$(OBJEXT) libgauche.$(SOEXT)
  280:         $(LINK)        -o test-vmstack$(EXEEXT) test-vmstack.$(OBJEXT) $(gosh_LDADD) $(LIBS)
  281: 
  282: test-arith$(EXEEXT) : test-arith.$(OBJEXT) libgauche.$(SOEXT)
  283:         $(LINK)        -o test-arith$(EXEEXT) test-arith.$(OBJEXT) $(gosh_LDADD) $(LIBS)
  284: 
  285: test-arith.$(OBJEXT) : gauche/arith.h
  286: 
  287: install-check :
  288:         @rm -rf test.log
  289:         @for f in `cat ../test/TESTS`; do \
  290:           ${bindir}/gosh ../test/$$f; \
  291:         done
  292: 
  293: # clean ------------------------------------------------
  294: GENERATED = stdlib.c extlib.c exclib.c syslib.c moplib.c intlib.c scmlib.c \
  295:             objlib.c compile.c autoloads.c builtin-syms.c \
  296:             gauche/builtin-syms.h vminsn.c gauche/vminsn.h \
  297:             ../lib/gauche/vm/insn.scm
  298: CONFIG_GENERATED = Makefile genconfig gauche/config.h
  299: 
  300: clean :
  301:         rm -rf core core.[0-9]* gosh$(EXEEXT) gauche-config$(EXEEXT) \
  302:                test-vmstack$(EXEEXT) test-arith$(EXEEXT)   \
  303:                $(GENERATED_SCRIPTS) gauche-config.c \
  304:                libgauche.$(SOEXT)* *.$(OBJEXT) *~ *.a *.t *.def *.exp *.exe \
  305:                test.log test.dir so_locations gauche/*~ gauche/arch.h
  306: 
  307: distclean : clean
  308:         rm -f $(CONFIG_GENERATED)
  309: 
  310: maintainer-clean : clean
  311:         rm -f $(CONFIG_GENERATED) $(GENERATED)
  312: 
  313: # install ----------------------------------------------
  314: 
  315: INSTALL_DIRS = $(DESTDIR)$(HEADER_INSTALL_DIR) \
  316:                $(DESTDIR)$(HEADER_INSTALL_DIR)/gauche \
  317:                $(DESTDIR)$(SCM_INSTALL_DIR) \
  318:                $(DESTDIR)$(ARCH_INSTALL_DIR) \
  319:                $(DESTDIR)$(BIN_INSTALL_DIR) \
  320:                $(DESTDIR)$(SITE_SCM_DIR) \
  321:                $(DESTDIR)$(SITE_ARCH_DIR)
  322: 
  323: install : all relink
  324:         $(MKINSTDIR) $(INSTALL_DIRS)
  325:         $(INSTALL) -m 444 $(INSTALL_HEADERS) $(DESTDIR)$(HEADER_INSTALL_DIR)
  326:         $(INSTALL) -m 444 $(INSTALL_SUBHEADERS) $(DESTDIR)$(HEADER_INSTALL_DIR)/gauche
  327:         $(INSTALL)        $(INSTALL_LIBS) $(DESTDIR)$(LIB_INSTALL_DIR)
  328:         $(INSTALL)        $(INSTALL_LIBS) $(DESTDIR)$(ARCH_INSTALL_DIR)
  329:         $(INSTALL) -m 555 $(INSTALL_BINS) $(DESTDIR)$(BIN_INSTALL_DIR)
  330:         $(INSTALL) -m 555 $(INSTALL_BINS) $(DESTDIR)$(ARCH_INSTALL_DIR)
  331:         $(INSTALL) -m 444 $(INSTALL_SCMS) $(DESTDIR)$(SCM_INSTALL_DIR)
  332:         @case `./gauche-config --arch` in *-cygwin*|*-mingw*) \
  333:           $(INSTALL) $(INSTALL_LIBS) $(DESTDIR)$(BIN_INSTALL_DIR);;\
  334:         esac
  335:         $(POSTINSTALL)
  336: 
  337: uninstall :
  338:         for f in $(INSTALL_BINS); do rm -f $(BIN_INSTALL_DIR)/$$f; done
  339:         for f in $(INSTALL_LIBS); do rm -f $(LIB_INSTALL_DIR)/$$f; done
  340:         rm -rf $(GAUCHE_ARCH_DIR)/@GAUCHE_VERSION@ $(GAUCHE_DATA_DIR)/@GAUCHE_VERSION@ $(GAUCHE_ARCH_DIR)/site/@GAUCHE_VERSION@
  341: 
  342: pre-package : $(GENERATED)
  343: 
  344: # MinGW specific stuff --------------------------------
  345: 
  346: # we don't use $(EXEEXT), for we know it is .exe on MinGW.
  347: # using it explicitly prevent make from being confused if $(EXEEXT) is empty.
  348: .in.exe:
  349:         $(SHELL) mingw-exify $< > $<.c
  350:         $(COMPILE) -c -o $<.o $<.c
  351:         $(LINK) $(gosh_LDFLAGS) -o $@ $<.o $(gosh_LDADD) $(LIBS)
  352: 
  353: install-mingw:
  354:         $(INSTALL) -m 444 $(INSTALL_MINGWHEADERS) $(DESTDIR)$(HEADER_INSTALL_DIR)/gauche
  355: 
Syntax (Markdown)