blob: 7e752f127ff186be19d17c0c0ff07e9f4a7daca3 [file] [log] [blame]
# Copyright 2010 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.
include ../../../Make.inc
ENABLED:=1
ifeq ($(GOARCH),arm)
ENABLED:=0
endif
ifeq ($(GOOS),plan9)
ENABLED:=0
endif
ifeq ($(DISABLE_CGO),1)
ENABLED:=0
endif
TARG=runtime/cgo
GOFILES=\
cgo.go\
ifeq ($(ENABLED),1)
# Unwarranted chumminess with Make.pkg's cgo rules.
# Do not try this at home.
CGO_OFILES=\
$(GOARCH).o\
$(GOOS)_$(GOARCH).o\
util.o\
ifeq ($(GOOS),windows)
CGO_LDFLAGS=-lm -mthreads
else
CGO_LDFLAGS=-lpthread
CGO_OFILES+=setenv.o\
endif
OFILES=\
iscgo.$O\
callbacks.$O\
_cgo_import.$O\
$(CGO_OFILES)\
ifeq ($(GOOS),freebsd)
OFILES+=\
freebsd.$O\
endif
endif
include ../../../Make.pkg
ifeq ($(ENABLED),1)
_cgo_defun.c:
echo >$@
_cgo_main.c:
echo 'int main() { return 0; }' >$@
endif
$(GOARCH).o: $(GOARCH).S
$(HOST_CC) $(_CGO_CFLAGS_$(GOARCH)) -g -O2 -fPIC -o $@ -c $^
$(GOOS)_$(GOARCH).o: $(GOOS)_$(GOARCH).c
$(HOST_CC) $(_CGO_CFLAGS_$(GOARCH)) -g -O2 -fPIC -o $@ -c $^
%.o: %.c
$(HOST_CC) $(_CGO_CFLAGS_$(GOARCH)) -g -O2 -fPIC -o $@ -c $^