我正在阅读一本名为 Curious Moon 的编码教程/书。其中一项任务是规范化和加载来自 Postgres 表中的 CSV 文件的数据。数据库名称为“enceladus”,表名称为“master_plan”。有人告诉我用make
它来做这件事。我不知道如何在 PowerShell 中运行 Makefile。
我在运行 Windows 10 的 Windows 笔记本电脑上安装了 GNUWin32 make.exe
。我使用 PowerShell 运行make.exe
. 我通过运行notepad $profile
并保存New-Item alias:make -Value 'C:\Program Files (x86)\GnuWin32\bin\make.exe'
在文件中来做到这一点。我给它一个新别名,因为我收到一条错误消息。现在,当我这样调用别名时:
PS C:\Users\Sabrina> 使
我收到此错误:
make: *** 没有指定目标,也没有找到 makefile。停止。
我用 sublime 编写了 Makefile 并将其保存为 makefile 扩展名。make.exe
它与 Makefile位于同一文件夹 'C:\Program Files (x86)\GnuWin32\bin' 中。我试着运行它
PS C:\Users\Sabrina> make -f Makefile
然后我得到错误
make: Makefile: 没有这样的文件或目录
我不知道如何让makefile打开和运行。
这是我在 Makefile 中的代码:
DB=enceladus
BUILD=${CURDIR}/build.sql
SCRIPTS=${CURDIR}/scripts
CSV='${CURDIR}/data/master_plan.csv'
MASTER=$(SCRIPTS)/import.sql
NORMALIZE = $(SCRIPTS)/normalize.sql
all: normalize
psql $(DB) -f $(BUILD)
master:
@cat $(MASTER) >> $(BUILD)
import: master
@echo "COPY import.master_plan FROM $(CSV) WITH DELIMITER ',' HEADER CSV;" >> $(BUILD)
normalize: import
@cat $(NORMALIZE) >> $(BUILD)
clean:
@rm -rf $(BUILD)