summaryrefslogtreecommitdiff
path: root/ghc/docs/NOTES.mkworld2
blob: 3969d82abae3acd96fb95bed0aff7309fc849761 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Include order:

# platform info
#   discrim on "trigger" symbols in plat-TRIGGER.jm
#   then slurp in plat-<platform>.jm
#   *-GEN has defaults [if any]

plat-TRIGGER.jm
plat-<platform>.jm
plat-GEN.jm

# site overrides

site-<project>-<setup>.jm
site-<project>.jm
site-GEN.jm

# <thing>s just for a <project> and its various <setup>s

<thing>-<project>-<setup>.jm
<thing>-<project>.jm

# things that many projects are likely to use

<thing>-GEN.jm

# finally, the directory-specific stuff

Jmakefile

-------------------------------------------------------------------
must specify platform explicitly
setup "std", project "none": nothing included

-------------------------------------------------------------------
<Things> that we have files for:

rules:		macros related to the main "make" targets
		excpt suffix, everything to make "make" do something is here
		org by principal make target (all, install, etc.)

suffix:		things to do w/ make suffix rules (i.e., implicit rules)

utils:		utilities that are used in the build process
		(where they are & default options for them)
		(proj file must say which sysutils it wants)
		(the proj files say whether src with or not ==> INeedXXX)
install:	where things are installed, flags for installing