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