23904e79e39430d0db2f4746020787d4257a517d
[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 newer: distclean
120         @if [ -f start ]; then \
121           tar cvf - \
122             `find . -newer start -type f -print` |\
123           gzip -9c >ucsim-newer-`date '+%Y.%m.%d-%H:%M'`.tgz; \
124         else \
125           echo "start file not found.\n"; \
126           exit 1; \
127         fi
128
129 print-newer:
130         @if [ -f start ]; then \
131           find . -newer start -type f -print ;\
132         else \
133           echo "start file not found.\n" ;\
134           exit 1 ;\
135         fi
136
137 lines:
138         @find . \( -name '*.[ch]' -o -name '*.cc' -o -name '*.hh' \) \
139         -exec cat {} \; | clines
140
141
142 # Remaking configuration
143 # ----------------------
144 configure: configure.in
145         $(SHELL) autoconf
146
147 main.mk: $(srcdir)/main_in.mk $(srcdir)/configure.in config.status
148         $(SHELL) ./config.status
149
150 config.status: configure
151         $(SHELL) ./config.status --recheck
152
153 makefiles:
154         $(SHELL) ./config.status
155
156 freshconf: main.mk
157
158 checkconf:
159         @if [ -f devel ]; then\
160           $(MAKE) freshconf;\
161         fi
162
163 # End of Makefile