Skip to content
This repository was archived by the owner on Apr 24, 2021. It is now read-only.

Commit ac4f336

Browse files
committed
Try using makefile
We need to make this repo embeddable in others, and we have a few makefile-related workflows to share, so here we are. Pros: - No dep on dune. There's been a few install-time conflicts in the past. Dune also isn't small. - Easier embedding. - Simpler setup. Entropy-- - Easier integration with tests. Cons: - Less convenient than dune at times. Now we're maintaining a makefile. - Dune does incrementalism a better than makefiles. Build speed is around the same.
1 parent 5dff17b commit ac4f336

File tree

4 files changed

+187
-0
lines changed

4 files changed

+187
-0
lines changed

.depend

+144
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
src/BuildSystem.cmx : src/ModuleResolution.cmx src/Log.cmx src/Infix.cmx \
2+
src/Files.cmx
3+
src/EditorSupportCommands.cmx : src/Utils.cmx src/Uri2.cmx src/TopTypes.cmx \
4+
src/State.cmx src/SharedTypes.cmx src/Shared.cmx src/References.cmx \
5+
src/Protocol.cmx src/NewCompletions.cmx src/Hover.cmx src/Files.cmx
6+
src/Files.cmx :
7+
src/FindFiles.cmx : src/Utils.cmx src/SharedTypes.cmx \
8+
src/ModuleResolution.cmx src/Log.cmx src/vendor/Json.cmx src/Infix.cmx \
9+
src/Files.cmx src/BuildSystem.cmx
10+
src/Hover.cmx : src/Utils.cmx src/SharedTypes.cmx src/Shared.cmx \
11+
src/References.cmx src/Query.cmx
12+
src/Infix.cmx : src/Log.cmx src/Files.cmx
13+
src/Log.cmx :
14+
src/MarkdownOfOCamldoc.cmx : src/vendor/odoc_parser/root.cmx \
15+
src/vendor/odoc_parser/paths.cmx src/vendor/odoc_parser/parser_.cmx \
16+
src/vendor/omd/omd.cmx src/Log.cmx src/vendor/odoc_parser/location_.cmx \
17+
src/vendor/odoc_parser/error.cmx src/vendor/odoc_parser/comment.cmx
18+
src/ModuleResolution.cmx : src/Infix.cmx src/Files.cmx
19+
src/NewCompletions.cmx : src/Utils.cmx src/Uri2.cmx src/TopTypes.cmx \
20+
src/State.cmx src/SharedTypes.cmx src/Shared.cmx src/Query.cmx \
21+
src/Protocol.cmx src/PartialParser.cmx src/Log.cmx src/Infix.cmx \
22+
src/Hover.cmx
23+
src/Packages.cmx : src/Uri2.cmx src/TopTypes.cmx src/SharedTypes.cmx \
24+
src/Log.cmx src/vendor/Json.cmx src/Infix.cmx src/FindFiles.cmx \
25+
src/Files.cmx src/BuildSystem.cmx
26+
src/PartialParser.cmx : src/SharedTypes.cmx src/Infix.cmx
27+
src/PrepareUtils.cmx :
28+
src/PrintType.cmx : src/vendor/res_outcome_printer/res_outcome_printer.cmx \
29+
src/vendor/res_outcome_printer/res_doc.cmx
30+
src/ProcessAttributes.cmx : src/SharedTypes.cmx src/PrepareUtils.cmx
31+
src/ProcessCmt.cmx : src/Utils.cmx src/SharedTypes.cmx \
32+
src/ProcessAttributes.cmx src/Infix.cmx
33+
src/ProcessExtra.cmx : src/Utils.cmx src/SharedTypes.cmx src/Shared.cmx \
34+
src/Query.cmx src/ProcessCmt.cmx src/ProcessAttributes.cmx src/Log.cmx
35+
src/Process_406.cmx : src/SharedTypes.cmx src/Shared.cmx \
36+
src/ProcessExtra.cmx src/ProcessCmt.cmx src/PrintType.cmx \
37+
src/Process_406.cmi
38+
src/Process_406.cmi : src/Uri2.cmx src/SharedTypes.cmx
39+
src/Protocol.cmx :
40+
src/Query.cmx : src/SharedTypes.cmx src/Log.cmx src/Infix.cmx
41+
src/References.cmx : src/Utils.cmx src/Uri2.cmx src/SharedTypes.cmx \
42+
src/Query.cmx src/Log.cmx src/Infix.cmx
43+
src/RescriptEditorSupport.cmx : src/EditorSupportCommands.cmx
44+
src/Shared.cmx : src/PrintType.cmx src/Files.cmx
45+
src/SharedTypes.cmx : src/Utils.cmx src/Uri2.cmx src/Shared.cmx \
46+
src/Infix.cmx
47+
src/State.cmx : src/Utils.cmx src/Uri2.cmx src/TopTypes.cmx \
48+
src/SharedTypes.cmx src/Process_406.cmx src/Packages.cmx \
49+
src/vendor/omd/omd.cmx src/MarkdownOfOCamldoc.cmx src/Log.cmx \
50+
src/Infix.cmx src/FindFiles.cmx src/Files.cmx src/BuildSystem.cmx
51+
src/TopTypes.cmx : src/Uri2.cmx src/SharedTypes.cmx
52+
src/Uri2.cmx :
53+
src/Utils.cmx : src/Protocol.cmx
54+
src/vendor/Json.cmx :
55+
src/vendor/odoc_parser/ast.cmx : src/vendor/odoc_parser/paths.cmx \
56+
src/vendor/odoc_parser/location_.cmx src/vendor/odoc_parser/comment.cmx
57+
src/vendor/odoc_parser/comment.cmx : src/vendor/odoc_parser/paths.cmx \
58+
src/vendor/odoc_parser/location_.cmx
59+
src/vendor/odoc_parser/error.cmx : src/vendor/odoc_parser/location_.cmx
60+
src/vendor/odoc_parser/helpers.cmx : src/vendor/odoc_parser/paths.cmx
61+
src/vendor/odoc_parser/lang.cmx : src/vendor/odoc_parser/root.cmx \
62+
src/vendor/odoc_parser/paths.cmx src/vendor/odoc_parser/comment.cmx
63+
src/vendor/odoc_parser/location_.cmx :
64+
src/vendor/odoc_parser/odoc_lexer.cmx : src/vendor/odoc_parser/token.cmx \
65+
src/vendor/odoc_parser/parse_error.cmx \
66+
src/vendor/odoc_parser/location_.cmx src/vendor/odoc_parser/error.cmx \
67+
src/vendor/odoc_parser/odoc_lexer.cmi
68+
src/vendor/odoc_parser/odoc_lexer.cmi : src/vendor/odoc_parser/token.cmx \
69+
src/vendor/odoc_parser/location_.cmx
70+
src/vendor/odoc_parser/parse_error.cmx : \
71+
src/vendor/odoc_parser/location_.cmx src/vendor/odoc_parser/error.cmx
72+
src/vendor/odoc_parser/parser_.cmx : src/vendor/odoc_parser/syntax.cmx \
73+
src/vendor/odoc_parser/semantics.cmx \
74+
src/vendor/odoc_parser/odoc_lexer.cmx \
75+
src/vendor/odoc_parser/location_.cmx src/vendor/odoc_parser/error.cmx \
76+
src/vendor/odoc_parser/ast.cmx src/vendor/odoc_parser/parser_.cmi
77+
src/vendor/odoc_parser/parser_.cmi : src/vendor/odoc_parser/paths.cmi \
78+
src/vendor/odoc_parser/error.cmx src/vendor/odoc_parser/comment.cmx \
79+
src/vendor/odoc_parser/ast.cmx
80+
src/vendor/odoc_parser/paths.cmx : src/vendor/odoc_parser/root.cmx \
81+
src/vendor/odoc_parser/paths_types.cmx src/vendor/odoc_parser/paths.cmi
82+
src/vendor/odoc_parser/paths.cmi : src/vendor/odoc_parser/root.cmi \
83+
src/vendor/odoc_parser/paths_types.cmx
84+
src/vendor/odoc_parser/paths_types.cmx : src/vendor/odoc_parser/root.cmx
85+
src/vendor/odoc_parser/root.cmx : src/vendor/odoc_parser/root.cmi
86+
src/vendor/odoc_parser/root.cmi :
87+
src/vendor/odoc_parser/semantics.cmx : src/vendor/odoc_parser/token.cmx \
88+
src/vendor/odoc_parser/paths.cmx src/vendor/odoc_parser/parse_error.cmx \
89+
src/vendor/odoc_parser/location_.cmx src/vendor/odoc_parser/error.cmx \
90+
src/vendor/odoc_parser/comment.cmx src/vendor/odoc_parser/ast.cmx \
91+
src/vendor/odoc_parser/semantics.cmi
92+
src/vendor/odoc_parser/semantics.cmi : src/vendor/odoc_parser/paths.cmi \
93+
src/vendor/odoc_parser/error.cmx src/vendor/odoc_parser/comment.cmx \
94+
src/vendor/odoc_parser/ast.cmx
95+
src/vendor/odoc_parser/syntax.cmx : src/vendor/odoc_parser/token.cmx \
96+
src/vendor/odoc_parser/parse_error.cmx \
97+
src/vendor/odoc_parser/location_.cmx src/vendor/odoc_parser/helpers.cmx \
98+
src/vendor/odoc_parser/error.cmx src/vendor/odoc_parser/comment.cmx \
99+
src/vendor/odoc_parser/ast.cmx src/vendor/odoc_parser/syntax.cmi
100+
src/vendor/odoc_parser/syntax.cmi : src/vendor/odoc_parser/token.cmx \
101+
src/vendor/odoc_parser/location_.cmx src/vendor/odoc_parser/error.cmx \
102+
src/vendor/odoc_parser/ast.cmx
103+
src/vendor/odoc_parser/token.cmx : src/vendor/odoc_parser/comment.cmx
104+
src/vendor/omd/html_characters.cmx :
105+
src/vendor/omd/omd.cmx : src/vendor/omd/omd_representation.cmx \
106+
src/vendor/omd/omd_parser.cmx src/vendor/omd/omd_lexer.cmx \
107+
src/vendor/omd/omd_backend.cmx src/vendor/omd/omd.cmi
108+
src/vendor/omd/omd.cmi : src/vendor/omd/omd_representation.cmi
109+
src/vendor/omd/omd_backend.cmx : src/vendor/omd/omd_utils.cmx \
110+
src/vendor/omd/omd_representation.cmx src/vendor/omd/omd_backend.cmi
111+
src/vendor/omd/omd_backend.cmi : src/vendor/omd/omd_utils.cmi \
112+
src/vendor/omd/omd_representation.cmi
113+
src/vendor/omd/omd_html.cmx :
114+
src/vendor/omd/omd_lexer.cmx : src/vendor/omd/omd_utils.cmx \
115+
src/vendor/omd/omd_representation.cmx src/vendor/omd/omd_lexer.cmi
116+
src/vendor/omd/omd_lexer.cmi : src/vendor/omd/omd_representation.cmi
117+
src/vendor/omd/omd_parser.cmx : src/vendor/omd/omd_utils.cmx \
118+
src/vendor/omd/omd_representation.cmx src/vendor/omd/omd_lexer.cmx \
119+
src/vendor/omd/omd_backend.cmx src/vendor/omd/omd_parser.cmi
120+
src/vendor/omd/omd_parser.cmi : src/vendor/omd/omd_utils.cmi \
121+
src/vendor/omd/omd_representation.cmi
122+
src/vendor/omd/omd_representation.cmx : src/vendor/omd/omd_utils.cmx \
123+
src/vendor/omd/omd_representation.cmi
124+
src/vendor/omd/omd_representation.cmi :
125+
src/vendor/omd/omd_types.cmx :
126+
src/vendor/omd/omd_utils.cmx : src/vendor/omd/omd_utils.cmi
127+
src/vendor/omd/omd_utils.cmi :
128+
src/vendor/omd/omd_xtxt.cmx : src/vendor/omd/omd_xtxt.cmi
129+
src/vendor/omd/omd_xtxt.cmi :
130+
src/vendor/res_outcome_printer/res_comment.cmx : \
131+
src/vendor/res_outcome_printer/res_comment.cmi
132+
src/vendor/res_outcome_printer/res_comment.cmi :
133+
src/vendor/res_outcome_printer/res_doc.cmx : \
134+
src/vendor/res_outcome_printer/res_minibuffer.cmx \
135+
src/vendor/res_outcome_printer/res_doc.cmi
136+
src/vendor/res_outcome_printer/res_doc.cmi :
137+
src/vendor/res_outcome_printer/res_minibuffer.cmx : \
138+
src/vendor/res_outcome_printer/res_minibuffer.cmi
139+
src/vendor/res_outcome_printer/res_minibuffer.cmi :
140+
src/vendor/res_outcome_printer/res_outcome_printer.cmx : \
141+
src/vendor/res_outcome_printer/res_token.cmx \
142+
src/vendor/res_outcome_printer/res_doc.cmx
143+
src/vendor/res_outcome_printer/res_token.cmx : \
144+
src/vendor/res_outcome_printer/res_comment.cmx

.gitignore

+7
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,10 @@ _build
66
examples/*/lib
77
test/lib
88
node_modules
9+
*.cmi
10+
*.cmt
11+
*.cmti
12+
*.cmx
13+
*.o
14+
lib/*
15+
!lib/README.md

Makefile

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
SHELL = /bin/bash
2+
MAKEFLAGS += --jobs 4
3+
INCLUDES = -I src -I src/vendor/odoc_parser -I src/vendor/omd -I src/vendor/res_outcome_printer -I src/vendor
4+
5+
OCAMLOPT = ocamlopt.opt
6+
OCAMLFLAGS = -g -w +26+27+32+33+39 -bin-annot -I +compiler-libs $(INCLUDES)
7+
OCAMLDEP = ocamldep.opt
8+
9+
%.cmi : %.mli
10+
@echo Building $@
11+
@$(OCAMLOPT) $(OCAMLFLAGS) -c $<
12+
%.cmx : %.ml
13+
@echo Building $@
14+
@$(OCAMLOPT) $(OCAMLFLAGS) -c $<
15+
16+
include .depend
17+
depend:
18+
@$(OCAMLDEP) -native $(INCLUDES) `find src -name "*.ml" -o -name "*.mli"` > .depend
19+
20+
SOURCE_FILES = $(shell $(OCAMLDEP) -sort `find src -name "*.ml"` | sed -E "s/\.ml/.cmx/g")
21+
22+
lib/rescript-editor-support.exe: $(SOURCE_FILES)
23+
@echo Linking...
24+
@$(OCAMLOPT) $(OCAMLFLAGS) -O2 -o ./lib/rescript-editor-support.exe \
25+
-I +compiler-libs unix.cmxa str.cmxa ocamlcommon.cmxa $(INCLUDES) $(SOURCE_FILES)
26+
@echo Done!
27+
28+
build-native: lib/rescript-editor-support.exe depend
29+
30+
clean:
31+
git clean -dfx src
32+
33+
.DEFAULT_GOAL := build-native
34+
35+
.PHONY: depend clean build-native

lib/README.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
We store a few dev-time binaries here.

0 commit comments

Comments
 (0)