Makefile为不同的AWS Lambda处理程序创建不同的二进制文件

时间:2019-07-05 21:52:58

标签: amazon-web-services go makefile aws-lambda

我的Go项目具有以下结构:

myproject/
  handlers/
    user/
      main.go
    books/
      main.go

是一堆AWS Lambda。 在我的make文件中,我有以下目标:

HANDLERS=$(addsuffix main,$(wildcard handlers/*/))
$(HANDLERS): handlers/%/main: *.go handlers/%/main.go
    cd ./$(dir $@) && GOOS=linux go build -gcflags="${GCFLAGS}" -o /tmp/main

.PHONY: bins
bins: $(HANDLERS)

所以我的目标是当我执行make bins时,它将创建以下目录结构:

bins/
  user/
    main
  books/
    main

如何修改我的Makefile以完成此操作?现在,我收到以下错误:

make: *** No rule to make target `*.go', needed by `handlers/user/main'.  Stop.

0 个答案:

没有答案