首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Ocsigen项目中安排源文件

如何在Ocsigen项目中安排源文件
EN

Stack Overflow用户
提问于 2017-01-16 19:44:51
回答 1查看 97关注 0票数 2

我已经从基本模板创建了一个简单的Ocsigen项目。一切都很好,直到我决定将我所有的源文件放在src目录中,并在其中创建更多的子目录,这样我的源代码就可以划分成模块并很好地排列。

不幸的是,当我尝试编译项目时,只编译了主目录中的文件,并且没有在src目录中搜索源文件。我已经阅读了项目模板生成的makefile,并试图找出一种方法使其工作,但没有成功。具体地说,仅仅在Makefile.options中更改CLIENT_FILESSERVER_FILES的值是不够的。我尝试使用递归搜索,如下所示:

代码语言:javascript
运行
复制
SERVER_FILES := $(shell find src -name "*.eliom" -or -name "*.eliomi")

但它并没有起作用。显然,Makefile需要更多的改变才能接受这一点。我也尝试过使用$(wildcard src/*.eliom)处理平面结构,但也不起作用。

因此,有没有什么方法可以在不更改一半的模板Makefile的情况下实现我需要的东西,这对我来说非常神奇,很难修改,甚至更难完全理解和重写。

EN

回答 1

Stack Overflow用户

发布于 2018-03-29 21:17:32

如果你愿意,我可以向你推荐丹尼·威利姆斯Ocsigen: how to compile an Eliom project. Understand the compilation process in deep.的这篇非常有用的文章,你可以在任何框架中使其自动化。例如,如果你想使用ocamlbuild,你可以自己创建一个Makefile,并在其中放入以下代码行

代码语言:javascript
运行
复制
SOURCE_FILES = src
OCB_FLAGS = -plugin-tags "package(eliom.ocamlbuild)" -use-ocamlfind -I $(SOURCE_FILES)
OCB = ocamlbuild $(OCB_FLAGS)
...
$(PATH_YOU_WANT)$(YOUR_PROJECT_NAME).js:
  $(OCB) -no-hygiene $@

然后在_tags文件中写入:

代码语言:javascript
运行
复制
true: eliom_ppx
<*/server/*>: package(eliom.server), thread
<*/client/*>: package(eliom.client)

如果你在代码中使用了eliom的ppx扩展,那么第一行是必要的。在shell中发出make命令,ocamlbuild将把你的代码编译成_build/src/server_build/src/client

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41675677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档