This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Fix a confusing comment in perly.y
[perl5.git] / Makefile.micro
... / ...
CommitLineData
1LD = $(CC)
2CCFLAGS = -c
3DEFINES = -DPERL_CORE -DPERL_MICRO -DSTANDARD_C -DPERL_USE_SAFE_PUTENV \
4 -DNO_MATHOMS
5OPTIMIZE =
6CFLAGS = $(DEFINES) $(OPTIMIZE)
7LDFLAGS =
8LIBS = -lm
9_O = .o
10ENV = env
11PERL = perl
12_X =
13RUN =
14
15all: microperl
16
17O = uav$(_O) udeb$(_O) udoio$(_O) udoop$(_O) udump$(_O) \
18 uglobals$(_O) ugv$(_O) uhv$(_O) umro$(_O)\
19 umg$(_O) uperlmain$(_O) uop$(_O) ureentr$(_O) \
20 upad$(_O) uperl$(_O) uperlio$(_O) uperly$(_O) upp$(_O) \
21 upp_ctl$(_O) upp_hot$(_O) upp_sys$(_O) upp_pack$(_O) upp_sort$(_O) \
22 uregcomp$(_O) uregexec$(_O) urun$(_O) \
23 uscope$(_O) usv$(_O) utaint$(_O) utoke$(_O) \
24 unumeric$(_O) ulocale$(_O) umathoms$(_O) \
25 uuniversal$(_O) uutf8$(_O) uutil$(_O) uperlapi$(_O) ukeywords$(_O)
26
27microperl: $(O)
28 $(LD) -o $@ $(O) $(LDFLAGS) $(LIBS)
29
30H = av.h uconfig.h cop.h cv.h embed.h embedvar.h form.h gv.h handy.h \
31 hv.h intrpvar.h iperlsys.h mg.h op.h opcode.h opnames.h pad.h \
32 patchlevel.h perl.h perlsdio.h perlvars.h perly.h pp.h \
33 pp_proto.h proto.h reentr.h regexp.h scope.h sv.h \
34 thread.h unixish.h utf8.h util.h uudmap.h warnings.h
35
36HE = $(H) EXTERN.h
37
38clean:
39 -rm -f $(O) microperl generate_uudmap$(_X) uudmap.h bitcount.h
40
41distclean: clean
42
43# The microconfiguration.
44
45# Cannot use $$ in the command line itself, so using var expansion instead.
46Config = '$$Config{$$1}'
47patch_uconfig:
48 $(PERL) -MConfig -pi -e "s/^((?:short|int|long(?:dbl|long)?|ptr|double|[iun]v|u?quad|[iu]\d+|fpos|lseek)(?:size|type)|byteorder|d_quad|quadkind|use64.+)=.*/\\1='"$(Config)"'/g" uconfig.sh
49
50regen_uconfig: uconfig.sh config_h.SH
51 $(ENV) CONFIG_SH=uconfig.sh CONFIG_H=uconfig.h sh ./config_h.SH
52
53regen_uconfig64: uconfig64.sh config_h.SH
54 $(ENV) CONFIG_SH=uconfig64.sh CONFIG_H=uconfig.h sh ./config_h.SH
55
56# Do not regenerate perly.c and perly.h.
57
58perly.c: perly.y
59 -@echo perly.c is uptodate
60
61perly.h: perly.y
62 -@echo perly.h is uptodate
63
64# The microperl objects.
65
66uav$(_O): $(HE) av.c
67 $(CC) $(CCFLAGS) -o $@ $(CFLAGS) av.c
68
69udeb$(_O): $(HE) deb.c
70 $(CC) $(CCFLAGS) -o $@ $(CFLAGS) deb.c
71
72udoio$(_O): $(HE) doio.c
73 $(CC) $(CCFLAGS) -o $@ $(CFLAGS) doio.c
74
75udoop$(_O): $(HE) doop.c
76 $(CC) $(CCFLAGS) -o $@ $(CFLAGS) doop.c
77
78udump$(_O): $(HE) dump.c regcomp.h regnodes.h
79 $(CC) $(CCFLAGS) -o $@ $(CFLAGS) dump.c
80
81uglobals$(_O): $(H) globals.c INTERN.h perlapi.h uudmap.h bitcount.h
82 $(CC) $(CCFLAGS) -o $@ $(CFLAGS) globals.c
83
84ugv$(_O): $(HE) gv.c
85 $(CC) $(CCFLAGS) -o $@ $(CFLAGS) gv.c
86
87umro$(_O): $(HE) mro.c
88 $(CC) $(CCFLAGS) -o $@ $(CFLAGS) mro.c
89
90uhv$(_O): $(HE) hv.c
91 $(CC) $(CCFLAGS) -o $@ $(CFLAGS) hv.c
92
93ukeywords$(_O): $(HE) keywords.c
94 $(CC) $(CCFLAGS) -o $@ $(CFLAGS) keywords.c
95
96umg$(_O): $(HE) mg.c
97 $(CC) $(CCFLAGS) -o $@ $(CFLAGS) mg.c
98
99uperlmain$(_O): $(HE) miniperlmain.c
100 $(CC) $(CCFLAGS) -o $@ $(CFLAGS) miniperlmain.c
101
102uop$(_O): $(HE) op.c keywords.h
103 $(CC) $(CCFLAGS) -o $@ $(CFLAGS) -DPERL_EXTERNAL_GLOB op.c
104
105ureentr$(_O): $(HE) reentr.c
106 $(CC) $(CCFLAGS) -o $@ $(CFLAGS) reentr.c
107
108upad$(_O): $(HE) pad.c
109 $(CC) $(CCFLAGS) -o $@ $(CFLAGS) pad.c
110
111uperl$(_O): $(HE) perl.c
112 $(CC) $(CCFLAGS) -o $@ $(CFLAGS) perl.c
113
114uperlio$(_O): $(HE) perlio.c
115 $(CC) $(CCFLAGS) -o $@ $(CFLAGS) perlio.c
116
117uperly$(_O): $(HE) perly.c
118 $(CC) $(CCFLAGS) -o $@ $(CFLAGS) perly.c
119
120upp$(_O): $(HE) pp.c
121 $(CC) $(CCFLAGS) -o $@ $(CFLAGS) pp.c
122
123upp_ctl$(_O): $(HE) pp_ctl.c
124 $(CC) $(CCFLAGS) -o $@ $(CFLAGS) pp_ctl.c
125
126upp_hot$(_O): $(HE) pp_hot.c
127 $(CC) $(CCFLAGS) -o $@ $(CFLAGS) pp_hot.c
128
129upp_sys$(_O): $(HE) pp_sys.c
130 $(CC) $(CCFLAGS) -o $@ $(CFLAGS) pp_sys.c
131
132upp_pack$(_O): $(HE) pp_pack.c
133 $(CC) $(CCFLAGS) -o $@ $(CFLAGS) pp_pack.c
134
135upp_sort$(_O): $(HE) pp_sort.c
136 $(CC) $(CCFLAGS) -o $@ $(CFLAGS) pp_sort.c
137
138uregcomp$(_O): $(HE) regcomp.c regcomp.h regnodes.h INTERN.h
139 $(CC) $(CCFLAGS) -o $@ $(CFLAGS) regcomp.c
140
141uregexec$(_O): $(HE) regexec.c regcomp.h regnodes.h
142 $(CC) $(CCFLAGS) -o $@ $(CFLAGS) regexec.c
143
144urun$(_O): $(HE) run.c
145 $(CC) $(CCFLAGS) -o $@ $(CFLAGS) run.c
146
147uscope$(_O): $(HE) scope.c
148 $(CC) $(CCFLAGS) -o $@ $(CFLAGS) scope.c
149
150usv$(_O): $(HE) sv.c
151 $(CC) $(CCFLAGS) -o $@ $(CFLAGS) sv.c
152
153utaint$(_O): $(HE) taint.c
154 $(CC) $(CCFLAGS) -o $@ $(CFLAGS) taint.c
155
156utoke$(_O): $(HE) toke.c keywords.h
157 $(CC) $(CCFLAGS) -o $@ $(CFLAGS) toke.c
158
159ulocale$(_O): $(HE) locale.c
160 $(CC) $(CCFLAGS) -o $@ $(CFLAGS) locale.c
161
162unumeric$(_O): $(HE) numeric.c
163 $(CC) $(CCFLAGS) -o $@ $(CFLAGS) numeric.c
164
165umathoms$(_O): $(HE) mathoms.c
166 $(CC) $(CCFLAGS) -o $@ $(CFLAGS) mathoms.c
167
168uuniversal$(_O): $(HE) universal.c XSUB.h
169 $(CC) $(CCFLAGS) -o $@ $(CFLAGS) universal.c
170
171uutf8$(_O): $(HE) utf8.c
172 $(CC) $(CCFLAGS) -o $@ $(CFLAGS) utf8.c
173
174uutil$(_O): $(HE) util.c
175 $(CC) $(CCFLAGS) -o $@ $(CFLAGS) util.c
176
177uperlapi$(_O): $(HE) perlapi.c perlapi.h
178 $(CC) $(CCFLAGS) -o $@ $(CFLAGS) perlapi.c
179
180uudmap.h bitcount.h: generate_uudmap$(_X)
181 $(RUN) ./generate_uudmap$(_X) uudmap.h bitcount.h
182
183generate_uudmap$(_O): generate_uudmap.c
184 $(CC) $(CCFLAGS) -o $@ $(CFLAGS) generate_uudmap.c
185
186generate_uudmap$(_X): generate_uudmap$(_O)
187 $(LD) -o generate_uudmap $(LDFLAGS) generate_uudmap$(_O) $(LIBS)
188
189microtest: microperl
190 - cd t && (rm -f perl; ln -s ../microperl perl) \
191 && ./perl TEST base/*.t cmd/*.t
192
193# That's it, folks!