Some fixes towards 0.2.37-pre5
[fw/sdcc] / sim / ucsim / Makefile
1 #
2 # uCsim Makefile
3 #
4 # (c) Drotos Daniel, Talker Bt. 1997,99
5 #
6
7 STARTYEAR       = 1997
8
9 SHELL           = /bin/sh
10
11 PRJDIR          = .
12 PKGS            = cmd.src sim.src s51.src avr.src z80.src gui.src doc
13
14 srcdir          = .
15
16
17 # Compiling entire program or any subproject
18 # ------------------------------------------
19 all: main.mk
20         $(MAKE) -f main.mk all
21         @for pkg in $(PKGS); do\
22           cd $$pkg && $(MAKE) $$pkg ; cd ..;\
23         done
24
25 libs: main.mk
26         $(MAKE) -f main.mk libs
27
28
29 # Compiling and installing everything and runing test
30 # ---------------------------------------------------
31 install:
32         $(MAKE) -f main.mk install
33         @for pkg in $(PKGS); do\
34           $(MAKE) -C $$pkg install ;\
35         done
36
37
38 # Deleting all the installed files
39 # --------------------------------
40 uninstall:
41         $(MAKE) -f main.mk uninstall
42         @for pkg in $(PKGS); do\
43           $(MAKE) -C $$pkg uninstall ;\
44         done
45
46
47 # Deleting all files created by building the program
48 # --------------------------------------------------
49 clean:
50         $(MAKE) -f clean.mk clean
51         @for pkg in $(PKGS); do\
52           $(MAKE) -C $$pkg -f clean.mk clean ;\
53         done
54
55
56 # Deleting all files created by configuring or building the program
57 # -----------------------------------------------------------------
58 distclean: clean
59         $(MAKE) -f clean.mk distclean
60         @for pkg in $(PKGS); do\
61           $(MAKE) -C $$pkg -f clean.mk distclean ;\
62         done
63         rm -rf doc/*~ doc/*.bak
64
65
66 # Like clean but some files may still exist
67 # -----------------------------------------
68 mostlyclean: clean
69         $(MAKE) -f clean.mk mostlyclean
70         @for pkg in $(PKGS); do\
71           $(MAKE) -C $$pkg -f clean.mk mostlyclean ;\
72         done
73
74
75 # Deleting everything that can reconstructed by this Makefile. It deletes
76 # everything deleted by distclean plus files created by bison, stc.
77 # -----------------------------------------------------------------------
78 realclean: distclean
79         $(MAKE) -f clean.mk realclean
80         @for pkg in $(PKGS); do\
81           $(MAKE) -C $$pkg -f clean.mk realclean ;\
82         done
83
84
85 # Creating distribution
86 # ---------------------
87 dist: distclean
88         @if [ -f devel ]; then\
89           rm -f devel; mkdist ucsim; touch devel;\
90         else\
91           mkdist ucsim;\
92         fi
93
94
95 # Performing self-test
96 # --------------------
97 check:
98
99
100 # Performing installation test
101 # ----------------------------
102 installcheck:
103
104
105 # Creating dependencies
106 # ---------------------
107 dep:
108         $(MAKE) -f main.mk dep
109         @for pkg in $(PKGS); do\
110           $(MAKE) -C $$pkg dep ;\
111         done
112
113
114 # My rules
115 # --------
116 putcopyright:
117         'put(c)' -s $(STARTYEAR) *.cc *.h *.y *.l
118
119 start:
120         date '+%Y.%m.%d-%H:%M' >.start
121
122 newer: distclean
123         @if [ -f .start ]; then \
124           tar cvf - \
125             `find . -newer .start -type f -print` |\
126           gzip -9c >ucsim-newer-`cat .start`_`date '+%Y.%m.%d-%H:%M'`_`hostname`.tgz; \
127         else \
128           echo ".start file not found.\n"; \
129           exit 1; \
130         fi
131
132 print-newer:
133         @if [ -f .start ]; then \
134           find . -newer .start -type f -print ;\
135         else \
136           echo ".start file not found.\n" ;\
137           exit 1 ;\
138         fi
139
140 lines:
141         @find . \( -name '*.[ch]' -o -name '*.cc' -o -name '*.hh' \) \
142         -exec cat {} \; | clines
143
144
145 # Remaking configuration
146 # ----------------------
147 configure: configure.in
148         $(SHELL) autoconf
149
150 main.mk: $(srcdir)/main_in.mk $(srcdir)/configure.in config.status
151         $(SHELL) ./config.status
152
153 config.status: configure
154         $(SHELL) ./config.status --recheck
155
156 makefiles:
157         $(SHELL) ./config.status
158
159 freshconf: main.mk
160
161 checkconf:
162         @if [ -f devel ]; then\
163           $(MAKE) freshconf;\
164         fi
165
166 # End of Makefile