Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] Annotation of /branches/vis15/src/compiler/Makefile.in
ViewVC logotype

Annotation of /branches/vis15/src/compiler/Makefile.in

Parent Directory Parent Directory | Revision Log Revision Log


Revision 5169 - (view) (download)

1 : jhr 5169 # Makefile
2 : jhr 3417 #
3 : jhr 5169 # A Makefile for when we are using SML/NJ to build the Diderot compiler
4 :     #
5 : jhr 3417 # This code is part of the Diderot Project (http://diderot-language.cs.uchicago.edu)
6 :     #
7 : jhr 5169 # COPYRIGHT (c) 2017 The University of Chicago
8 : jhr 3417 # All rights reserved.
9 :     #
10 :     # @configure_input@
11 :     #
12 :    
13 :     #### Start of system configuration section. ####
14 :    
15 :     #
16 :     # directories for the install target
17 :     #
18 : jhr 4318 PREFIX = @prefix@
19 :     INSTALL_BINDIR = $(PREFIX)/bin
20 :     INSTALL_HEAPDIR = $(INSTALL_BINDIR)/.heap
21 :     INSTALL_LIBDIR = $(PREFIX)/lib
22 :     INSTALL_INCDIR = $(PREFIX)/include
23 : jhr 3417
24 :     #
25 :     # directories for the local-install target
26 :     #
27 : jhr 4318 SRCDIR = @DIDEROT_ROOT@/src
28 :     LIBDIR = @DIDEROT_ROOT@/lib
29 :     BINDIR = @DIDEROT_ROOT@/bin
30 :     HEAPDIR = $(BINDIR)/.heap
31 : jhr 3417
32 : jhr 4318 INSTALL = @INSTALL@
33 :     SHELL = @SHELL@
34 : jhr 3417 @SET_MAKE@
35 :    
36 : jhr 3816 #
37 :     # generator tools
38 :     #
39 : jhr 4318 MKMK = $(SRCDIR)/compiler/gen/fragments/mkmk.sh
40 :     MKFRAGS = $(SRCDIR)/compiler/gen/fragments/mkfrags.sh
41 : jhr 3816
42 :     #
43 :     # SML/NJ build tools
44 :     #
45 : jhr 3417 INSTALL_SMLNJ_WRAPPER = @INSTALL_SMLNJ_WRAPPER@
46 : jhr 4318 ML_BUILD = @ML_BUILD@
47 :     ML_BUILD_FLAGS = -Ctdp.instrument=true \$$smlnj-tdp/back-trace.cm
48 :     ML_MAKEDEPEND = @ML_MAKEDEPEND@
49 : jhr 3417 ML_MAKEDEPEND_FLAGS =
50 :    
51 :     #### End of system configuration section. ####
52 :    
53 : jhr 4318 PROGRAM = diderotc
54 :     HEAP_IMAGE = $(PROGRAM).@SMLNJ_HEAP_SUFFIX@
55 :     ROOT_CM = driver/sources.cm
56 :     CM_FILES = ast/sources.cm \
57 :     basis/sources.cm \
58 :     cfg-ir/sources.cm \
59 :     codegen/sources.cm \
60 :     common/sources.cm \
61 :     cxx-util/sources.cm \
62 :     driver/sources.cm \
63 :     ein/sources.cm \
64 :     fields/sources.cm \
65 :     global-env/sources.cm \
66 :     high-ir/sources.cm \
67 :     low-ir/sources.cm \
68 :     mid-ir/sources.cm \
69 :     nrrd/sources.cm \
70 :     options/sources.cm \
71 :     parse-tree/sources.cm \
72 :     parser/sources.cm \
73 :     simple/sources.cm \
74 :     simplify/sources.cm \
75 :     translate/sources.cm \
76 :     typechecker/sources.cm
77 : jhr 3417
78 : jhr 4318 CODE_FRAG_DIRS = codegen cxx-util target-cpu
79 : jhr 3417
80 : jhr 4318 CODE_FRAG_FILES = $(patsubst %,%/fragments.sml,$(CODE_FRAG_DIRS))
81 :     CODE_FRAG_MKFILES = $(patsubst %,%/fragments.gmk,$(CODE_FRAG_DIRS))
82 : jhr 3816
83 : jhr 4318 .PHONY: local-install
84 :     local-install: $(HEAP_IMAGE)
85 :     $(INSTALL_SMLNJ_WRAPPER) $(PROGRAM) $(BINDIR)
86 : jhr 3417
87 : jhr 4318 .PHONY: install
88 :     install: $(HEAP_IMAGE)
89 :     $(INSTALL_SMLNJ_WRAPPER) $(PROGRAM) $(INSTALL_BINDIR)
90 : jhr 3417
91 : jhr 4318 .PHONY: build
92 :     build: $(HEAP_IMAGE)
93 : jhr 3417
94 : jhr 4318 $(HEAP_IMAGE): .depend $(CODE_FRAG_MKFILES)
95 :     $(ML_BUILD) $(ML_BUILD_FLAGS) $(ROOT_CM) Main.main $(PROGRAM)
96 :     touch $(HEAP_IMAGE)
97 : jhr 3417
98 : jhr 3816 #
99 :     # Rules for generating the fragment dependency and source files
100 :     #
101 :    
102 : jhr 4993 codegen/fragments.gmk: codegen/fragments/CATALOG $(wildcard codegen/fragments/*in) \
103 :     $(wildcard codegen/fragments/*json)
104 : jhr 4318 $(MKMK) codegen
105 : jhr 3898
106 :     codegen/fragments.sml:
107 : jhr 4318 $(MKFRAGS) codegen
108 : jhr 3898
109 : jhr 3888 cxx-util/fragments.gmk: cxx-util/fragments/CATALOG $(wildcard cxx-util/fragments/*in)
110 : jhr 4318 $(MKMK) cxx-util
111 : jhr 3816
112 : jhr 3888 cxx-util/fragments.sml:
113 : jhr 4318 $(MKFRAGS) cxx-util
114 : jhr 3816
115 : jhr 3908 target-cpu/fragments.gmk: target-cpu/fragments/CATALOG $(wildcard target-cpu/fragments/*in)
116 : jhr 4318 $(MKMK) target-cpu
117 : jhr 3908
118 :     target-cpu/fragments.sml:
119 : jhr 4318 $(MKFRAGS) target-cpu
120 : jhr 3908
121 : jhr 3816 #
122 :     # Dependency file rules
123 :     #
124 : jhr 4318 .depend: $(CM_FILES) $(CODE_FRAG_FILES)
125 :     touch .depend
126 :     $(ML_MAKEDEPEND) $(ML_MAKEDEPEND_FLAGS) -n -f .depend $(ROOT_CM) $(HEAP_IMAGE) || rm -f .depend
127 : jhr 3417
128 :     ifneq ($(MAKECMDGOALS),clean)
129 :     ifneq ($(MAKECMDGOALS),devclean)
130 :     ifneq ($(MAKECMDGOALS),distclean)
131 :     sinclude .depend
132 : jhr 3898 sinclude codegen/fragments.gmk
133 : jhr 3888 sinclude cxx-util/fragments.gmk
134 : jhr 3908 sinclude target-cpu/fragments.gmk
135 : jhr 3417 endif
136 :     endif
137 :     endif
138 :    
139 :     #################### Cleanup ####################
140 :    
141 :     CLEAN_SUBDIRS =
142 :    
143 : jhr 4318 CLEAN_FILES += $(HEAP_IMAGE) \
144 :     */*.grm.sml \
145 :     */*.lex.sml \
146 :     $(CODE_FRAG_FILES) \
147 :     $(CODE_FRAG_MKFILES) \
148 :     .depend
149 : jhr 3417
150 : jhr 4318 DISTCLEAN_FILES += Makefile \
151 :     common/paths.sml \
152 :     common/size-of.sml \
153 :     nrrd/run-dnorm.sml \
154 :     options/version.sml \
155 :     $(MKMK) $(MKFRAGS)
156 : jhr 3417
157 :     DEVCLEAN_FILES =
158 :    
159 :     include @DIDEROT_MKDIR@/clean-rules.gmk

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0