[From nobody Mon Nov 2 08:31:12 2009 Return-path: <parrot-dev-bounces@lists.parrot.org> Envelope-to: geoff@localhost Delivery-date: Sat, 31 Oct 2009 13:46:36 -0700 Received: from localhost ([127.0.0.1] helo=rufus.home.broadwell.org ident=fetchmail) by rufus.home.broadwell.org with esmtp (Exim 4.69) (envelope-from <parrot-dev-bounces@lists.parrot.org>) id 1N4KqK-0004wE-1q for geoff@localhost; Sat, 31 Oct 2009 13:46:36 -0700 Received: from silver.he.net [216.218.151.2] by rufus.home.broadwell.org with POP3 (fetchmail-6.3.9-rc2) for <geoff@localhost> (single-drop); Sat, 31 Oct 2009 13:46:36 -0700 (PDT) Received: from hemlock.osuosl.org ([140.211.166.133]) by broadwell.org for <geoff@broadwell.org>; Sat, 31 Oct 2009 15:26:02 -0700 Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id B2777A035A; Sat, 31 Oct 2009 22:26:03 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7Q9CzQb+KfuQ; Sat, 31 Oct 2009 22:26:01 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by hemlock.osuosl.org (Postfix) with ESMTP id CB5D7A0065; Sat, 31 Oct 2009 22:26:01 +0000 (UTC) X-Original-To: parrot-dev@lists.parrot.org Delivered-To: parrot-dev@osuosl.org Received: from hemlock.osuosl.org (hemlock.osuosl.org [140.211.166.133]) by ash.osuosl.org (Postfix) with ESMTP id E58F18F871 for <parrot-dev@lists.parrot.org>; Sat, 31 Oct 2009 22:26:00 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id DCE72A0065 for <parrot-dev@lists.parrot.org>; Sat, 31 Oct 2009 22:26:00 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id I866uVu31HQ6 for <parrot-dev@lists.parrot.org>; Sat, 31 Oct 2009 22:25:59 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.4 Received: from mail-pw0-f44.google.com (mail-pw0-f44.google.com [209.85.160.44]) by hemlock.osuosl.org (Postfix) with ESMTP id 336D1A0062 for <parrot-dev@lists.parrot.org>; Sat, 31 Oct 2009 22:25:30 +0000 (UTC) Received: by pwj8 with SMTP id 8so1286383pwj.23 for <parrot-dev@lists.parrot.org>; Sat, 31 Oct 2009 15:25:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:from:date :x-google-sender-auth:message-id:subject:to:cc:content-type; bh=NPSzNbBwBgvW+uRJY/iZ/a+ypquiZJWlqppjam/ham4=; b=qUdqZqc8FikNCB0hzk6E4D0aZK9CP9u4YWTyVsodk9nmjOvylrv4h+5qY06ja28ZXS nkkJWaLU2F3hgD5lgYpr8Z9UHTxvDXmi5rYkNKxLlvEjV7nvkxJTFsk2xS5kFagyEonO Tb3Ku3x+1NDxudIIJPR7YyVcCEyA2C+K1K8Xc= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:from:date:x-google-sender-auth:message-id :subject:to:cc:content-type; b=RD/rRv/VnU6nilGm0ghTaivLYCK5pX0AYdEO+mFYjef0mbFi8IFtQF3M1Hs2eICfb/ a1dFvdF9EX8EmeUU6OxXcGezr6IXWQ52H6a87M+MRr1RbcGrslZ+AyxtM3+77TsdjkJF NtdQrbEw9GNechZ4RKV1ZbRX+g+dc0VMb9xQQ= MIME-Version: 1.0 Received: by 10.143.20.38 with SMTP id x38mr333246wfi.233.1257027929084; Sat, 31 Oct 2009 15:25:29 -0700 (PDT) From: Jonathan Leto <jonathan@leto.net> Date: Sat, 31 Oct 2009 15:25:09 -0700 X-Google-Sender-Auth: 3531930ee17216b2 Message-ID: <9aaadf9c0910311525k674e5474r1c29503412439718@mail.gmail.com> Subject: Parrot takes flight atop RTEMS was Fwd: RTEMS makefile. To: parrot-dev <parrot-dev@lists.parrot.org> Content-Type: multipart/mixed; boundary=00504502cc1e2f92e60477429fdd Cc: rtems-users@rtems.org, jcraveiro@lasige.di.fc.ul.pt X-BeenThere: parrot-dev@lists.parrot.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: Parrot Development <parrot-dev.lists.parrot.org> List-Unsubscribe: <http://lists.parrot.org/mailman/options/parrot-dev>, <mailto:parrot-dev-request@lists.parrot.org?subject=unsubscribe> List-Archive: <http://lists.parrot.org/pipermail/parrot-dev> List-Post: <mailto:parrot-dev@lists.parrot.org> List-Help: <mailto:parrot-dev-request@lists.parrot.org?subject=help> List-Subscribe: <http://lists.parrot.org/mailman/listinfo/parrot-dev>, <mailto:parrot-dev-request@lists.parrot.org?subject=subscribe> Sender: parrot-dev-bounces@lists.parrot.org Errors-To: parrot-dev-bounces@lists.parrot.org --00504502cc1e2f92e60477429fdd Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Howdy, I am excited to announce to everyone that Parrot Virtual Machine [0] is gearing up for a port to a real-time, embedded OS, namely, RTEMS [1]. Attached is a Makefile, hand-written by core RTEMS developer Chris Johns, which allows cross-compiling to the RTEMS OS. What we need now is to create a proper hints file and/or change the Parrot build system to support cross-compiling. The RTEMS devs are happy to help with this, so a few of us should join their users mailing list [2] and vice versa. I have already volunteered myself, and darbelo and Whiteknight seem to be on board. Who else is up for the karma points? Chris Johns also mentioned that there were no errors getting Parrot to compile on RTEMS, only Configure-time bugs (because we have never supported cross-compiling), which is really rare when porting software to RTEMS. Nice work people! PS: You can find info about getting the RTEMS source at http://rtems.com/wiki/index.php/RTEMS_CVS_Repository Duke [0] http://www.parrot.org/ [1] http://rtems.com/ [2] http://www.rtems.org/mailman/listinfo/rtems-users [3] http://lists.parrot.org/mailman/listinfo/parrot-dev ---------- Forwarded message ---------- From: Chris Johns <chrisj@rtems.org> Date: Sat, Oct 31, 2009 at 2:40 PM Subject: RTEMS makefile. To: jonathan@leto.net Hi Jonathan, Attached in the make file. What is missing is the patch with the changes to remove configured bit of Linux that are not present. Please feel free to ask for any help. Need to head for the morning but will be back later. Regards Chris # RTEMS Makefile for Parrot # # Chris Johns <chrisj@rtems.org> # # This is sample makefile to show the commands needed to get Parrot to buil= d # for RTEMS. Built on a # # This makefile cross compiles the source created by the Parrot build syste= m # when building for an FC Linux box. There is a patch tot he Linux # configuration that is require before starting this build. The patch only # changes the confugration. No source needed to be change. The Parrot build # system genetates the source from PMC files so a Linux build is performed # before running make with this file. You need to clean the object files bu= ilt # after the Linux build. # # This makefile currently supports the PC BSP as this is the architecture o= f # the native Linux build of Parrot. # # RTEMS is defined by the form <arch>-rtems<version> where <arch> can be i3= 86, # m68k, arm, powerpc, sparc and more. The <version> is the RTEMS version, # currently 4.10. The BSP defines a specific target and provides the specif= ic # compiler flags. The configuuration for the PC is here: # # http://www.rtems.org/cgi-bin/viewcvs.cgi/rtems/c/src/lib/libbsp/i386/pc38= 6/make/custom/ # # These files are installed into the RTEMS install path and thetefore avail= able # to Parrot to use. # # RTEMS also supports multilib builds. This is based on the gcc multilib li= st # and in some ways may be a cleaner solution for Parrot. A BSP can only bui= ld # RTEMS as a multilib variant. # # A further complication for RTEMS or cross builds is building in the sourc= e # tree. We tend to have a number of targets and build from a single # source. There is always a chance an object file is not cleaned away befor= e # building the next target. I understand the need to build the C sources so # some sort of configure and then source building phase is needed but it wo= uld # be nice if we could have a makefile that allows us to build outside the # source tree. # # # PARROT_INC =3D $(PARROT_SRC)/include ARCH =3D i386 VERSION =3D 4.10 BSP =3D pc586 RTEMS_TRIPLE =3D $(ARCH)-rtems$(VERSION) RTEMS_PATH =3D /local/ccj/rtems/$(VERSION) BSP_PATH =3D $(RTEMS_PATH)/$(RTEMS_TRIPLE)/$(BSP) BSP_INC =3D $(BSP_PATH)/lib/include BSP_LIB =3D $(BSP_PATH)/lib CC =3D $(RTEMS_TRIPLE)-gcc AR =3D $(RTEMS_TRIPLE)-ar CFLAGS =3D -I $(BSP_INC) -I $(PARROT_INC) -O2 -g \ =A0 =A0 =A0 =A0-DCLOCK_BEST=3DCLOCK_REALTIME -D__BSD_VISIBLE=3D1 SRC =3D \ =A0 =A0 =A0 =A0src/string/api.c \ =A0 =A0 =A0 =A0src/ops/core_ops.c \ =A0 =A0 =A0 =A0src/ops/core_ops_switch.c \ =A0 =A0 =A0 =A0src/byteorder.c \ =A0 =A0 =A0 =A0src/string/charset.c \ =A0 =A0 =A0 =A0src/core_pmcs.c \ =A0 =A0 =A0 =A0src/datatypes.c \ =A0 =A0 =A0 =A0src/debug.c \ =A0 =A0 =A0 =A0src/dynext.c \ =A0 =A0 =A0 =A0src/embed.c \ =A0 =A0 =A0 =A0src/string/encoding.c \ =A0 =A0 =A0 =A0src/events.c \ =A0 =A0 =A0 =A0src/exceptions.c \ =A0 =A0 =A0 =A0src/exit.c \ =A0 =A0 =A0 =A0src/extend.c \ =A0 =A0 =A0 =A0src/extend_vtable.c \ =A0 =A0 =A0 =A0src/gc/alloc_memory.c \ =A0 =A0 =A0 =A0src/gc/api.c \ =A0 =A0 =A0 =A0src/gc/generational_ms.c \ =A0 =A0 =A0 =A0src/gc/incremental_ms.c \ =A0 =A0 =A0 =A0src/gc/gc_ms.c \ =A0 =A0 =A0 =A0src/gc/gc_inf.c \ =A0 =A0 =A0 =A0src/gc/mark_sweep.c \ =A0 =A0 =A0 =A0src/gc/system.c \ =A0 =A0 =A0 =A0src/global.c \ =A0 =A0 =A0 =A0src/global_setup.c \ =A0 =A0 =A0 =A0src/hash.c \ =A0 =A0 =A0 =A0src/hll.c \ =A0 =A0 =A0 =A0src/call/pcc.c \ =A0 =A0 =A0 =A0src/interp/inter_cb.c \ =A0 =A0 =A0 =A0src/interp/inter_create.c \ =A0 =A0 =A0 =A0src/interp/inter_misc.c \ =A0 =A0 =A0 =A0src/call/ops.c \ =A0 =A0 =A0 =A0src/call/context.c \ =A0 =A0 =A0 =A0src/key.c \ =A0 =A0 =A0 =A0src/library.c \ =A0 =A0 =A0 =A0src/list.c \ =A0 =A0 =A0 =A0src/longopt.c \ =A0 =A0 =A0 =A0src/misc.c \ =A0 =A0 =A0 =A0src/multidispatch.c \ =A0 =A0 =A0 =A0src/nci.c \ =A0 =A0 =A0 =A0src/oo.c \ =A0 =A0 =A0 =A0src/packfile.c \ =A0 =A0 =A0 =A0src/packout.c \ =A0 =A0 =A0 =A0src/pic_jit.c \ =A0 =A0 =A0 =A0src/pic.c \ =A0 =A0 =A0 =A0src/platform.c \ =A0 =A0 =A0 =A0src/pmc_freeze.c \ =A0 =A0 =A0 =A0src/pmc.c \ =A0 =A0 =A0 =A0src/runcore/main.c \ =A0 =A0 =A0 =A0src/runcore/cores.c \ =A0 =A0 =A0 =A0src/runcore/profiling.c \ =A0 =A0 =A0 =A0src/scheduler.c \ =A0 =A0 =A0 =A0src/spf_render.c \ =A0 =A0 =A0 =A0src/spf_vtable.c \ =A0 =A0 =A0 =A0src/string/primitives.c \ =A0 =A0 =A0 =A0src/sub.c \ =A0 =A0 =A0 =A0src/thread.c \ =A0 =A0 =A0 =A0src/runcore/trace.c \ =A0 =A0 =A0 =A0src/tsq.c \ =A0 =A0 =A0 =A0src/utils.c \ =A0 =A0 =A0 =A0src/vtables.c \ =A0 =A0 =A0 =A0src/warnings.c \ =A0 =A0 =A0 =A0src/packfile/pf_items.c \ =A0 =A0 =A0 =A0src/ops/core_ops_cg.c \ =A0 =A0 =A0 =A0src/ops/core_ops_cgp.c \ =A0 =A0 =A0 =A0src/gc/alloc_resources.c \ =A0 =A0 =A0 =A0src/string/charset/ascii.c \ =A0 =A0 =A0 =A0src/string/charset/binary.c \ =A0 =A0 =A0 =A0src/string/charset/iso-8859-1.c \ =A0 =A0 =A0 =A0src/string/charset/tables.c \ =A0 =A0 =A0 =A0src/string/charset/unicode.c \ =A0 =A0 =A0 =A0src/io/core.c \ =A0 =A0 =A0 =A0src/io/api.c \ =A0 =A0 =A0 =A0src/io/utf8.c \ =A0 =A0 =A0 =A0src/io/buffer.c \ =A0 =A0 =A0 =A0src/io/unix.c \ =A0 =A0 =A0 =A0src/io/win32.c \ =A0 =A0 =A0 =A0src/io/portable.c \ =A0 =A0 =A0 =A0src/io/filehandle.c \ =A0 =A0 =A0 =A0src/io/socket_api.c \ =A0 =A0 =A0 =A0src/io/socket_unix.c \ =A0 =A0 =A0 =A0src/io/socket_win32.c \ =A0 =A0 =A0 =A0src/pmc/default.c \ =A0 =A0 =A0 =A0src/pmc/null.c \ =A0 =A0 =A0 =A0src/pmc/env.c \ =A0 =A0 =A0 =A0src/pmc/key.c \ =A0 =A0 =A0 =A0src/pmc/unmanagedstruct.c \ =A0 =A0 =A0 =A0src/pmc/managedstruct.c \ =A0 =A0 =A0 =A0src/pmc/exception.c \ =A0 =A0 =A0 =A0src/pmc/parrotlibrary.c \ =A0 =A0 =A0 =A0src/pmc/parrotinterpreter.c \ =A0 =A0 =A0 =A0src/pmc/parrotthread.c \ =A0 =A0 =A0 =A0src/pmc/lexpad.c \ =A0 =A0 =A0 =A0src/pmc/timer.c \ =A0 =A0 =A0 =A0src/pmc/pointer.c \ =A0 =A0 =A0 =A0src/pmc/sub.c \ =A0 =A0 =A0 =A0src/pmc/continuation.c \ =A0 =A0 =A0 =A0src/pmc/retcontinuation.c \ =A0 =A0 =A0 =A0src/pmc/coroutine.c \ =A0 =A0 =A0 =A0src/pmc/eval.c \ =A0 =A0 =A0 =A0src/pmc/nci.c \ =A0 =A0 =A0 =A0src/pmc/float.c \ =A0 =A0 =A0 =A0src/pmc/integer.c \ =A0 =A0 =A0 =A0src/pmc/bigint.c \ =A0 =A0 =A0 =A0src/pmc/bignum.c \ =A0 =A0 =A0 =A0src/pmc/complex.c \ =A0 =A0 =A0 =A0src/pmc/string.c \ =A0 =A0 =A0 =A0src/pmc/boolean.c \ =A0 =A0 =A0 =A0src/pmc/array.c \ =A0 =A0 =A0 =A0src/pmc/fixedintegerarray.c \ =A0 =A0 =A0 =A0src/pmc/iterator.c \ =A0 =A0 =A0 =A0src/pmc/fixedstringarray.c \ =A0 =A0 =A0 =A0src/pmc/hash.c \ =A0 =A0 =A0 =A0src/pmc/orderedhash.c \ =A0 =A0 =A0 =A0src/pmc/os.c \ =A0 =A0 =A0 =A0src/pmc/file.c \ =A0 =A0 =A0 =A0src/pmc/addrregistry.c \ =A0 =A0 =A0 =A0src/pmc/arrayiterator.c \ =A0 =A0 =A0 =A0src/pmc/callsignature.c \ =A0 =A0 =A0 =A0src/pmc/capture.c \ =A0 =A0 =A0 =A0src/pmc/class.c \ =A0 =A0 =A0 =A0src/pmc/codestring.c \ =A0 =A0 =A0 =A0src/pmc/context.c \ =A0 =A0 =A0 =A0src/pmc/cpointer.c \ =A0 =A0 =A0 =A0src/pmc/eventhandler.c \ =A0 =A0 =A0 =A0src/pmc/exceptionhandler.c \ =A0 =A0 =A0 =A0src/pmc/exporter.c \ =A0 =A0 =A0 =A0src/pmc/filehandle.c \ =A0 =A0 =A0 =A0src/pmc/fixedbooleanarray.c \ =A0 =A0 =A0 =A0src/pmc/fixedfloatarray.c \ =A0 =A0 =A0 =A0src/pmc/fixedpmcarray.c \ =A0 =A0 =A0 =A0src/pmc/handle.c \ =A0 =A0 =A0 =A0src/pmc/hashiterator.c \ =A0 =A0 =A0 =A0src/pmc/hashiteratorkey.c \ =A0 =A0 =A0 =A0src/pmc/lexinfo.c \ =A0 =A0 =A0 =A0src/pmc/multisub.c \ =A0 =A0 =A0 =A0src/pmc/namespace.c \ =A0 =A0 =A0 =A0src/pmc/object.c \ =A0 =A0 =A0 =A0src/pmc/orderedhashiterator.c \ =A0 =A0 =A0 =A0src/pmc/packfile.c \ =A0 =A0 =A0 =A0src/pmc/packfileannotation.c \ =A0 =A0 =A0 =A0src/pmc/packfileannotations.c \ =A0 =A0 =A0 =A0src/pmc/packfileconstanttable.c \ =A0 =A0 =A0 =A0src/pmc/packfiledirectory.c \ =A0 =A0 =A0 =A0src/pmc/packfilefixupentry.c \ =A0 =A0 =A0 =A0src/pmc/packfilefixuptable.c \ =A0 =A0 =A0 =A0src/pmc/packfilerawsegment.c \ =A0 =A0 =A0 =A0src/pmc/packfilesegment.c \ =A0 =A0 =A0 =A0src/pmc/parrotrunningthread.c \ =A0 =A0 =A0 =A0src/pmc/pccmethod_test.c \ =A0 =A0 =A0 =A0src/pmc/pmcproxy.c \ =A0 =A0 =A0 =A0src/pmc/resizablebooleanarray.c \ =A0 =A0 =A0 =A0src/pmc/resizablefloatarray.c \ =A0 =A0 =A0 =A0src/pmc/resizableintegerarray.c \ =A0 =A0 =A0 =A0src/pmc/resizablepmcarray.c \ =A0 =A0 =A0 =A0src/pmc/resizablestringarray.c \ =A0 =A0 =A0 =A0src/pmc/role.c \ =A0 =A0 =A0 =A0src/pmc/scalar.c \ =A0 =A0 =A0 =A0src/pmc/scheduler.c \ =A0 =A0 =A0 =A0src/pmc/schedulermessage.c \ =A0 =A0 =A0 =A0src/pmc/sockaddr.c \ =A0 =A0 =A0 =A0src/pmc/socket.c \ =A0 =A0 =A0 =A0src/pmc/stringhandle.c \ =A0 =A0 =A0 =A0src/pmc/stringiterator.c \ =A0 =A0 =A0 =A0src/pmc/task.c \ =A0 =A0 =A0 =A0src/pmc/undef.c \ =A0 =A0 =A0 =A0src/string/encoding/fixed_8.c \ =A0 =A0 =A0 =A0src/string/encoding/ucs2.c \ =A0 =A0 =A0 =A0src/string/encoding/utf16.c \ =A0 =A0 =A0 =A0src/string/encoding/utf8.c \ =A0 =A0 =A0 =A0compilers/imcc/imcparser.c \ =A0 =A0 =A0 =A0compilers/imcc/imclexer.c \ =A0 =A0 =A0 =A0compilers/imcc/imc.c \ =A0 =A0 =A0 =A0compilers/imcc/main.c \ =A0 =A0 =A0 =A0compilers/imcc/symreg.c \ =A0 =A0 =A0 =A0compilers/imcc/instructions.c \ =A0 =A0 =A0 =A0compilers/imcc/cfg.c \ =A0 =A0 =A0 =A0compilers/imcc/reg_alloc.c \ =A0 =A0 =A0 =A0compilers/imcc/sets.c \ =A0 =A0 =A0 =A0compilers/imcc/debug.c \ =A0 =A0 =A0 =A0compilers/imcc/optimizer.c \ =A0 =A0 =A0 =A0compilers/imcc/pbc.c \ =A0 =A0 =A0 =A0compilers/imcc/parser_util.c \ =A0 =A0 =A0 =A0compilers/imcc/pcc.c ABS_SRC =3D $(addprefix $(PARROT_SRC)/, $(SRC)) OBJ =3D $(addsuffix .o, $(basename $(ABS_SRC))) all: libparrot.a clean: =A0 =A0 =A0 =A0rm -f $(OBJ) libparrot.a: $(OBJ) =A0 =A0 =A0 =A0$(AR) rc $@ $? --=20 Jonathan Leto jonathan@leto.net http://leto.net --00504502cc1e2f92e60477429fdd Content-Type: text/plain; charset=US-ASCII; name=Makefile Content-Disposition: attachment; filename=Makefile X-Attachment-Id: 0.1 Content-Transfer-Encoding: 7bit # RTEMS Makefile for Parrot # # Chris Johns <chrisj@rtems.org> # # This is sample makefile to show the commands needed to get Parrot to build # for RTEMS. Built on a # # This makefile cross compiles the source created by the Parrot build system # when building for an FC Linux box. There is a patch tot he Linux # configuration that is require before starting this build. The patch only # changes the confugration. No source needed to be change. The Parrot build # system genetates the source from PMC files so a Linux build is performed # before running make with this file. You need to clean the object files built # after the Linux build. # # This makefile currently supports the PC BSP as this is the architecture of # the native Linux build of Parrot. # # RTEMS is defined by the form <arch>-rtems<version> where <arch> can be i386, # m68k, arm, powerpc, sparc and more. The <version> is the RTEMS version, # currently 4.10. The BSP defines a specific target and provides the specific # compiler flags. The configuuration for the PC is here: # # http://www.rtems.org/cgi-bin/viewcvs.cgi/rtems/c/src/lib/libbsp/i386/pc386/make/custom/ # # These files are installed into the RTEMS install path and thetefore available # to Parrot to use. # # RTEMS also supports multilib builds. This is based on the gcc multilib list # and in some ways may be a cleaner solution for Parrot. A BSP can only build # RTEMS as a multilib variant. # # A further complication for RTEMS or cross builds is building in the source # tree. We tend to have a number of targets and build from a single # source. There is always a chance an object file is not cleaned away before # building the next target. I understand the need to build the C sources so # some sort of configure and then source building phase is needed but it would # be nice if we could have a makefile that allows us to build outside the # source tree. # # # PARROT_INC = $(PARROT_SRC)/include ARCH = i386 VERSION = 4.10 BSP = pc586 RTEMS_TRIPLE = $(ARCH)-rtems$(VERSION) RTEMS_PATH = /local/ccj/rtems/$(VERSION) BSP_PATH = $(RTEMS_PATH)/$(RTEMS_TRIPLE)/$(BSP) BSP_INC = $(BSP_PATH)/lib/include BSP_LIB = $(BSP_PATH)/lib CC = $(RTEMS_TRIPLE)-gcc AR = $(RTEMS_TRIPLE)-ar CFLAGS = -I $(BSP_INC) -I $(PARROT_INC) -O2 -g \ -DCLOCK_BEST=CLOCK_REALTIME -D__BSD_VISIBLE=1 SRC = \ src/string/api.c \ src/ops/core_ops.c \ src/ops/core_ops_switch.c \ src/byteorder.c \ src/string/charset.c \ src/core_pmcs.c \ src/datatypes.c \ src/debug.c \ src/dynext.c \ src/embed.c \ src/string/encoding.c \ src/events.c \ src/exceptions.c \ src/exit.c \ src/extend.c \ src/extend_vtable.c \ src/gc/alloc_memory.c \ src/gc/api.c \ src/gc/generational_ms.c \ src/gc/incremental_ms.c \ src/gc/gc_ms.c \ src/gc/gc_inf.c \ src/gc/mark_sweep.c \ src/gc/system.c \ src/global.c \ src/global_setup.c \ src/hash.c \ src/hll.c \ src/call/pcc.c \ src/interp/inter_cb.c \ src/interp/inter_create.c \ src/interp/inter_misc.c \ src/call/ops.c \ src/call/context.c \ src/key.c \ src/library.c \ src/list.c \ src/longopt.c \ src/misc.c \ src/multidispatch.c \ src/nci.c \ src/oo.c \ src/packfile.c \ src/packout.c \ src/pic_jit.c \ src/pic.c \ src/platform.c \ src/pmc_freeze.c \ src/pmc.c \ src/runcore/main.c \ src/runcore/cores.c \ src/runcore/profiling.c \ src/scheduler.c \ src/spf_render.c \ src/spf_vtable.c \ src/string/primitives.c \ src/sub.c \ src/thread.c \ src/runcore/trace.c \ src/tsq.c \ src/utils.c \ src/vtables.c \ src/warnings.c \ src/packfile/pf_items.c \ src/ops/core_ops_cg.c \ src/ops/core_ops_cgp.c \ src/gc/alloc_resources.c \ src/string/charset/ascii.c \ src/string/charset/binary.c \ src/string/charset/iso-8859-1.c \ src/string/charset/tables.c \ src/string/charset/unicode.c \ src/io/core.c \ src/io/api.c \ src/io/utf8.c \ src/io/buffer.c \ src/io/unix.c \ src/io/win32.c \ src/io/portable.c \ src/io/filehandle.c \ src/io/socket_api.c \ src/io/socket_unix.c \ src/io/socket_win32.c \ src/pmc/default.c \ src/pmc/null.c \ src/pmc/env.c \ src/pmc/key.c \ src/pmc/unmanagedstruct.c \ src/pmc/managedstruct.c \ src/pmc/exception.c \ src/pmc/parrotlibrary.c \ src/pmc/parrotinterpreter.c \ src/pmc/parrotthread.c \ src/pmc/lexpad.c \ src/pmc/timer.c \ src/pmc/pointer.c \ src/pmc/sub.c \ src/pmc/continuation.c \ src/pmc/retcontinuation.c \ src/pmc/coroutine.c \ src/pmc/eval.c \ src/pmc/nci.c \ src/pmc/float.c \ src/pmc/integer.c \ src/pmc/bigint.c \ src/pmc/bignum.c \ src/pmc/complex.c \ src/pmc/string.c \ src/pmc/boolean.c \ src/pmc/array.c \ src/pmc/fixedintegerarray.c \ src/pmc/iterator.c \ src/pmc/fixedstringarray.c \ src/pmc/hash.c \ src/pmc/orderedhash.c \ src/pmc/os.c \ src/pmc/file.c \ src/pmc/addrregistry.c \ src/pmc/arrayiterator.c \ src/pmc/callsignature.c \ src/pmc/capture.c \ src/pmc/class.c \ src/pmc/codestring.c \ src/pmc/context.c \ src/pmc/cpointer.c \ src/pmc/eventhandler.c \ src/pmc/exceptionhandler.c \ src/pmc/exporter.c \ src/pmc/filehandle.c \ src/pmc/fixedbooleanarray.c \ src/pmc/fixedfloatarray.c \ src/pmc/fixedpmcarray.c \ src/pmc/handle.c \ src/pmc/hashiterator.c \ src/pmc/hashiteratorkey.c \ src/pmc/lexinfo.c \ src/pmc/multisub.c \ src/pmc/namespace.c \ src/pmc/object.c \ src/pmc/orderedhashiterator.c \ src/pmc/packfile.c \ src/pmc/packfileannotation.c \ src/pmc/packfileannotations.c \ src/pmc/packfileconstanttable.c \ src/pmc/packfiledirectory.c \ src/pmc/packfilefixupentry.c \ src/pmc/packfilefixuptable.c \ src/pmc/packfilerawsegment.c \ src/pmc/packfilesegment.c \ src/pmc/parrotrunningthread.c \ src/pmc/pccmethod_test.c \ src/pmc/pmcproxy.c \ src/pmc/resizablebooleanarray.c \ src/pmc/resizablefloatarray.c \ src/pmc/resizableintegerarray.c \ src/pmc/resizablepmcarray.c \ src/pmc/resizablestringarray.c \ src/pmc/role.c \ src/pmc/scalar.c \ src/pmc/scheduler.c \ src/pmc/schedulermessage.c \ src/pmc/sockaddr.c \ src/pmc/socket.c \ src/pmc/stringhandle.c \ src/pmc/stringiterator.c \ src/pmc/task.c \ src/pmc/undef.c \ src/string/encoding/fixed_8.c \ src/string/encoding/ucs2.c \ src/string/encoding/utf16.c \ src/string/encoding/utf8.c \ compilers/imcc/imcparser.c \ compilers/imcc/imclexer.c \ compilers/imcc/imc.c \ compilers/imcc/main.c \ compilers/imcc/symreg.c \ compilers/imcc/instructions.c \ compilers/imcc/cfg.c \ compilers/imcc/reg_alloc.c \ compilers/imcc/sets.c \ compilers/imcc/debug.c \ compilers/imcc/optimizer.c \ compilers/imcc/pbc.c \ compilers/imcc/parser_util.c \ compilers/imcc/pcc.c ABS_SRC = $(addprefix $(PARROT_SRC)/, $(SRC)) OBJ = $(addsuffix .o, $(basename $(ABS_SRC))) all: libparrot.a clean: rm -f $(OBJ) libparrot.a: $(OBJ) $(AR) rc $@ $? --00504502cc1e2f92e60477429fdd Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Disposition: inline Content-Transfer-Encoding: 7bit _______________________________________________ http://lists.parrot.org/mailman/listinfo/parrot-dev --00504502cc1e2f92e60477429fdd-- ]