1 : |
jhr |
123 |
# Makefile.in
|
2 : |
|
|
#
|
3 : |
jhr |
3349 |
# This code is part of the Diderot Project (http://diderot-language.cs.uchicago.edu)
|
4 : |
|
|
#
|
5 : |
|
|
# COPYRIGHT (c) 2015 The University of Chicago
|
6 : |
jhr |
123 |
# All rights reserved.
|
7 : |
|
|
#
|
8 : |
|
|
# @configure_input@
|
9 : |
|
|
#
|
10 : |
|
|
|
11 : |
|
|
#### Start of system configuration section. ####
|
12 : |
|
|
|
13 : |
|
|
#
|
14 : |
|
|
# directories for the install target
|
15 : |
|
|
#
|
16 : |
|
|
PREFIX = @prefix@
|
17 : |
|
|
INSTALL_BINDIR = $(PREFIX)/bin
|
18 : |
|
|
INSTALL_HEAPDIR = $(INSTALL_BINDIR)/.heap
|
19 : |
|
|
INSTALL_LIBDIR = $(PREFIX)/lib
|
20 : |
|
|
INSTALL_INCDIR = $(PREFIX)/include
|
21 : |
|
|
|
22 : |
|
|
#
|
23 : |
|
|
# directories for the local-install target
|
24 : |
|
|
#
|
25 : |
|
|
SRCDIR = @DIDEROT_ROOT@/src
|
26 : |
|
|
LIBDIR = @DIDEROT_ROOT@/lib
|
27 : |
|
|
BINDIR = @DIDEROT_ROOT@/bin
|
28 : |
|
|
HEAPDIR = $(BINDIR)/.heap
|
29 : |
|
|
|
30 : |
|
|
INSTALL = @INSTALL@
|
31 : |
|
|
SHELL = @SHELL@
|
32 : |
|
|
@SET_MAKE@
|
33 : |
|
|
|
34 : |
jhr |
1640 |
INSTALL_SMLNJ_WRAPPER = @INSTALL_SMLNJ_WRAPPER@
|
35 : |
jhr |
123 |
ML_BUILD = @ML_BUILD@
|
36 : |
|
|
ML_BUILD_FLAGS = -Ctdp.instrument=true \$$smlnj-tdp/back-trace.cm
|
37 : |
|
|
ML_MAKEDEPEND = @ML_MAKEDEPEND@
|
38 : |
|
|
ML_MAKEDEPEND_FLAGS =
|
39 : |
|
|
|
40 : |
|
|
#### End of system configuration section. ####
|
41 : |
|
|
|
42 : |
|
|
PROGRAM = diderotc
|
43 : |
|
|
HEAP_IMAGE = $(PROGRAM).@SMLNJ_HEAP_SUFFIX@
|
44 : |
|
|
ROOT_CM = driver/sources.cm
|
45 : |
|
|
CM_FILES = ast/sources.cm \
|
46 : |
|
|
basis/sources.cm \
|
47 : |
jhr |
1116 |
c-target/sources.cm \
|
48 : |
|
|
codegen/sources.cm \
|
49 : |
jhr |
123 |
common/sources.cm \
|
50 : |
jhr |
1116 |
driver/sources.cm \
|
51 : |
jhr |
123 |
env/sources.cm \
|
52 : |
jhr |
1116 |
fields/sources.cm \
|
53 : |
|
|
high-il/sources.cm \
|
54 : |
|
|
high-to-mid/sources.cm \
|
55 : |
|
|
IL/sources.cm \
|
56 : |
|
|
low-il/sources.cm \
|
57 : |
|
|
mid-il/sources.cm \
|
58 : |
|
|
mid-to-low/sources.cm \
|
59 : |
jhr |
123 |
parser/sources.cm \
|
60 : |
jhr |
1116 |
simplify/sources.cm \
|
61 : |
|
|
translate/sources.cm \
|
62 : |
|
|
tree-il/sources.cm \
|
63 : |
|
|
typechecker/sources.cm
|
64 : |
jhr |
123 |
|
65 : |
jhr |
1671 |
CODE_FRAG_FILES = cl-target/cl-eigen2x2-frag.sml \
|
66 : |
|
|
cl-target/cl-eigen3x3-frag.sml \
|
67 : |
|
|
cl-target/cl-header-frag.sml \
|
68 : |
|
|
cl-target/cl-sched-frag.sml \
|
69 : |
|
|
cl-target/cl-update-frag.sml
|
70 : |
jhr |
1640 |
|
71 : |
jhr |
123 |
.PHONY: local-install
|
72 : |
|
|
local-install: $(HEAP_IMAGE)
|
73 : |
|
|
$(INSTALL_SMLNJ_WRAPPER) $(PROGRAM) $(BINDIR)
|
74 : |
|
|
|
75 : |
|
|
.PHONY: install
|
76 : |
|
|
install: $(HEAP_IMAGE)
|
77 : |
|
|
$(INSTALL_SMLNJ_WRAPPER) $(PROGRAM) $(INSTALL_BINDIR)
|
78 : |
|
|
|
79 : |
|
|
.PHONY: build
|
80 : |
|
|
build: $(HEAP_IMAGE)
|
81 : |
|
|
|
82 : |
jhr |
2356 |
$(HEAP_IMAGE): .depend
|
83 : |
jhr |
123 |
$(ML_BUILD) $(ML_BUILD_FLAGS) $(ROOT_CM) Main.main $(PROGRAM)
|
84 : |
|
|
touch $(HEAP_IMAGE)
|
85 : |
|
|
|
86 : |
jhr |
1640 |
.depend: $(CM_FILES) $(CODE_FRAG_FILES)
|
87 : |
jhr |
123 |
touch .depend
|
88 : |
|
|
$(ML_MAKEDEPEND) $(ML_MAKEDEPEND_FLAGS) -n -f .depend $(ROOT_CM) $(HEAP_IMAGE)
|
89 : |
|
|
|
90 : |
jhr |
1640 |
# synthesize files for the code fragments
|
91 : |
|
|
#
|
92 : |
jhr |
1671 |
cl-target/cl-eigen2x2-frag.sml: cl-target/fragments/eigen2x2.in
|
93 : |
jhr |
2471 |
gen/file2str/file2str.sh $< CLEigen2x2Frag $@
|
94 : |
jhr |
1671 |
|
95 : |
|
|
cl-target/cl-eigen3x3-frag.sml: cl-target/fragments/eigen3x3.in
|
96 : |
jhr |
2471 |
gen/file2str/file2str.sh $< CLEigen3x3Frag $@
|
97 : |
jhr |
1671 |
|
98 : |
jhr |
1640 |
cl-target/cl-header-frag.sml: cl-target/fragments/header.in
|
99 : |
jhr |
2471 |
gen/file2str/file2str.sh $< CLHeaderFrag $@
|
100 : |
jhr |
1640 |
|
101 : |
|
|
cl-target/cl-sched-frag.sml: cl-target/fragments/sched.in
|
102 : |
jhr |
2471 |
gen/file2str/file2str.sh $< CLSchedFrag $@
|
103 : |
jhr |
1640 |
|
104 : |
jhr |
1671 |
cl-target/cl-update-frag.sml: cl-target/fragments/update.in
|
105 : |
jhr |
2471 |
gen/file2str/file2str.sh $< CLUpdateFrag $@
|
106 : |
jhr |
1671 |
|
107 : |
jhr |
123 |
ifneq ($(MAKECMDGOALS),clean)
|
108 : |
|
|
ifneq ($(MAKECMDGOALS),devclean)
|
109 : |
|
|
ifneq ($(MAKECMDGOALS),distclean)
|
110 : |
|
|
sinclude .depend
|
111 : |
|
|
endif
|
112 : |
|
|
endif
|
113 : |
|
|
endif
|
114 : |
|
|
|
115 : |
|
|
#################### Cleanup ####################
|
116 : |
|
|
|
117 : |
|
|
CLEAN_SUBDIRS =
|
118 : |
|
|
|
119 : |
jhr |
1116 |
CLEAN_FILES += $(HEAP_IMAGE) \
|
120 : |
jhr |
123 |
*/*.grm.sml \
|
121 : |
|
|
*/*.lex.sml \
|
122 : |
jhr |
2471 |
$(CODE_FRAG_FILES) \
|
123 : |
jhr |
123 |
.depend
|
124 : |
|
|
|
125 : |
jhr |
1131 |
DISTCLEAN_FILES += Makefile \
|
126 : |
|
|
common/paths.sml \
|
127 : |
jhr |
2356 |
common/size-of.sml \
|
128 : |
jhr |
2477 |
nrrd/run-dnorm.sml
|
129 : |
jhr |
123 |
|
130 : |
|
|
DEVCLEAN_FILES =
|
131 : |
|
|
|
132 : |
|
|
include @DIDEROT_MKDIR@/clean-rules.gmk
|