Plan 9 from Bell Labs’s /usr/web/sources/contrib/ericvh/go-plan9/src/pkg/runtime/mkfile

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


# Copyright 2009 The Go Authors. All rights reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.

<$GOROOT/src/mk.$GOARCH

TARG=runtime

# Set SIZE to 32 or 64.
SIZE_386=32
SIZE_amd64=64
SIZE_arm=32
SIZE=`{eval echo '$'SIZE_$GOARCH}

# Setup CFLAGS.  Add -D_64BIT on 64-bit platforms (sorry).
CFLAGS_64=-D_64BIT
# TODO(kaib): fix register allocation to honor extern register so we
# can enable optimizations again.
CFLAGS_arm=-N
CFLAGS=-I$GOOS -I$GOOS/$GOARCH -wF `{eval echo '$'CFLAGS_$SIZE} `{eval echo '$'CFLAGS_$GOARCH}

GOFILES=\
	extern.go\
	type.go\

# 386-specific object files
OFILES_386=\
	vlop.$O\
	vlrt.$O\

# arm-specific object files
OFILES_arm=\
	cas.$O\
	memset.$O\
	vlop.$O\
	vlrt.$O\

OFILES=\
	asm.$O\
	cgocall.$O\
	chan.$O\
	closure.$O\
	float.$O\
	hashmap.$O\
	iface.$O\
	malloc.$O\
	mcache.$O\
	mcentral.$O\
	mem.$O\
	mfixalloc.$O\
	mgc0.$O\
	mheap.$O\
	mheapmap$SIZE.$O\
	msize.$O\
	print.$O\
	proc.$O\
	reflect.$O\
	rune.$O\
	runtime.$O\
	rt0.$O\
	sema.$O\
	signal.$O\
	slice.$O\
	string.$O\
	symtab.$O\
	sys.$O\
	thread.$O\
	traceback.$O\
	`{eval echo '$'OFILES_$GOARCH}\

HFILES=\
	cgocall.h\
	runtime.h\
	hashmap.h\
	malloc.h\
	$GOARCH/asm.h\
	$GOOS/os.h\
	$GOOS/$GOARCH/defs.h\

CLEANFILES = cgo2c */asm.h runtime.acid.*

all: cgo2c package

<$GOROOT/src/mk.pkg

$GOARCH/asm.h: runtime.acid.$GOARCH
	./mkasmh.rc >$target.x
	mv $target.x $target

cgo2c: cgo2c.c
	$OCC $CFLAGS $prereq
	$OLD -o $target cgo2c.$O

&.c:D:	&.cgo
	./cgo2c $stem.cgo > $target.tmp
	mv $target.tmp $target

&.$O:	$GOARCH/&.c
	$CC $CFLAGS $GOARCH/$stem.c

&.$O:	$GOOS/&.c
	$CC $CFLAGS $GOOS/$stem.c

&.$O:	$GOOS/$GOARCH/&.c
	$CC $CFLAGS $GOOS/$GOARCH/$stem.c

&.$O:	$GOARCH/asm.h

&.$O:	$GOARCH/&.s
	$AS $GOARCH/$stem.s

&.$O:	$GOOS/$GOARCH/&.s
	$AS $GOOS/$GOARCH/$stem.s

# for discovering offsets inside structs when debugging
runtime.acid.$GOARCH:D: runtime.h proc.c
	$CC -a proc.c >$target

plan9/&/sys.s: /sys/src/libc/9syscall/sys.h
	@{
		cd plan9
		mk $stem/sys.s
		cd ..
	}

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to [email protected].