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