用Makefile和gccgo来构建mips32下的Go项目报错,求助

TymonHuang 发布于 2016/10/25 14:22
阅读 372
收藏 0

由于我的是mips32,go不支持mips32,只能用gccgo来编译够程序,而且我的project组织结构比较复杂,分了许多目录和库呀等等,必须自己写Makefile来构建我的go项目

假设我有源文件/my/path/a.go

package main

import (
    "fmt"
    "lib/b"
)

func main() {
    fmt.Println("Hello, World!")
    mypkg.Sayhello()
}

当然, /my/path/lib/b.go 已经写好相应代码

package mypkg

import "fmt"

func Sayhello() {
    fmt.Println("Hello!")
}

按如下步骤,设置好GOPATH=/my/path 之后,手动编译时可以通过且运行的:

cd lib && gcc -c b.go -o b.o;   ar rc libb.a b.o

cd .. && gccgo -c a.go -L /my/path,  编译 a.out 成功且可以运行。

可是,当我用写好的Makefile去构建的时候,就是不行,不知道为何???求助

/my/path/Makefile

GOPATH=$(PWD)

export GOPATH

all : a.out

a.out : a.o libb.a
	gccgo -o $@ $^

a.o : a.go
	gccgo -c $^ -o $@ -L $(GOPATH)/lib

libb.a : a.go
	make -C ./lib

/my/path/lib/Makefile

 libb.a : b.o
	ar rc $@ $^

b.o : b.go
	gccgo -c $^ -o $@







加载中
返回顶部
顶部