File: Makefile

package info (click to toggle)
aleph 0.9.0-2
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 4,460 kB
  • ctags: 5,520
  • sloc: cpp: 30,907; makefile: 1,973; sh: 506; lisp: 193
file content (122 lines) | stat: -rw-r--r-- 3,300 bytes parent folder | download
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
# ----------------------------------------------------------------------------
# - Makefile                                                                 -
# - aleph top level makefile                                                 -
# ----------------------------------------------------------------------------
# - This program is  free software;  you can  redistribute it and/or  modify -
# - it provided that this copyright notice is kept intact.                   -
# -                                                                          -
# - This  program  is  distributed in the hope  that it  will be useful, but -
# - without  any   warranty;  without  even   the   implied    warranty   of -
# - merchantability  or fitness for a particular purpose. In not event shall -
# - the copyright holder be  liable for  any direct, indirect, incidental or -
# - special damages arising in any way out of the use of this software.      -
# ----------------------------------------------------------------------------
# - copyright (c) 1999-2003 amaury darsch                                    -
# ----------------------------------------------------------------------------

TOPDIR          = .
CONFFILE	= cnf/mak/aleph-conf.mak
RULEFILE	= cnf/mak/aleph-rule.mak
include		$(CONFFILE)

# ----------------------------------------------------------------------------
# - project rules                                                            -
# ----------------------------------------------------------------------------

# rule: all
# this rule is the default rule which call the build rule

all   : build
.PHONY: all

# include: aleph-rule.mak
# this rule includes the platform dependant rules

include $(RULEFILE)

# rule: debug
# configure the world in debug mode

debug:
	@$(TEST) -f bld/cnf/aleph-comp.mak && \
         $(TEST) -f bld/cnf/aleph-plat.mak || ./cnf/bin/aleph-setup -g
.PHONY: debug

# rule: optimized
# configure the world in optimized mode

optimized:
	@$(TEST) -f bld/cnf/aleph-comp.mak && \
         $(TEST) -f bld/cnf/aleph-plat.mak || ./cnf/bin/aleph-setup -o
.PHONY: optimized

# rule: build
# this rule build the complete source tree

build: debug
	@${MAKE} -C src all
.PHONY: build

# rule: world
# this rule build the optimized world

world: optimized
	@${MAKE} -C src all
.PHONY: world

# rule: test
# this rule build and test all libraries

test:
	@${MAKE} -C src test
.PHONY: test

# rule: doc
# this rule build the documentation

doc:
	@${MAKE} -C tex all
.PHONY: doc

# rule: distri
# this rule build the distribution

distri:
	@$(MKDIR) $(BLDDST)
	@$(CP)    Makefile $(BLDDST)
	@${MAKE}  -C cnf distri
	@${MAKE}  -C src distri
	@${MAKE}  -C etc distri
	@${MAKE}  -C exp distri
	@${MAKE}  -C tex distri
.PHONY: distri

# rule: install
# this rule install the distribution

install:
	@${MAKE}  -C src install
	@${MAKE}  -C etc install
.PHONY: install

# rule: clean
# This rule cleans the distribution.

clean::
	@${MAKE} -C cnf clean
	@${MAKE} -C src clean
	@${MAKE} -C tex clean
	@${MAKE} -C exp clean
	@$(RMDIR) $(BLDBIN)
	@$(RMDIR) $(BLDLIN)
	@$(RMDIR) $(BLDHDR)
	@$(RMDIR) $(BLDDST)
	@$(RMDIR) $(BLDDOC)
.PHONY: clean

# rule: distclean
# This rule cleans the whole distribution and configuration

distclean: clean
	@$(RMDIR) $(BLDDIR)
.PHONY: clean