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