# Makefile to build microperl for DSLinux; derived from Makefile.micro LD = $(CC) DEFINES = -DPERL_CORE -DPERL_MICRO -DSTANDARD_C -DPERL_USE_SAFE_PUTENV OPTIMIZE = CFLAGS += $(DEFINES) $(OPTIMIZE) LIBS = -lm _O = .o ENV = env .PHONY: all romfs clean all: microperl O = uav$(_O) udeb$(_O) udoio$(_O) udoop$(_O) udump$(_O) \ uglobals$(_O) ugv$(_O) uhv$(_O) \ umg$(_O) uperlmain$(_O) uop$(_O) ureentr$(_O) \ upad$(_O) uperl$(_O) uperlio$(_O) uperly$(_O) upp$(_O) \ upp_ctl$(_O) upp_hot$(_O) upp_sys$(_O) upp_pack$(_O) upp_sort$(_O) \ uregcomp$(_O) uregexec$(_O) urun$(_O) \ uscope$(_O) usv$(_O) utaint$(_O) utoke$(_O) \ unumeric$(_O) ulocale$(_O) \ uuniversal$(_O) uutf8$(_O) uutil$(_O) uperlapi$(_O) uxsutils$(_O) microperl: $(O) $(LD) $(LDFLAGS) -o $@ $(O) $(LIBS) H = av.h uconfig.h cop.h cv.h embed.h embedvar.h form.h gv.h handy.h \ hv.h intrpvar.h iperlsys.h mg.h op.h opcode.h opnames.h pad.h \ patchlevel.h perl.h perlsdio.h perlvars.h perly.h pp.h \ pp_proto.h proto.h reentr.h regexp.h scope.h sv.h thrdvar.h \ thread.h unixish.h utf8.h util.h warnings.h HE = $(H) EXTERN.h romfs: $(ROMFSINST) microperl /bin/perl clean: -rm -f $(O) microperl distclean: clean # The microconfiguration. regen_uconfig: $(ENV) CONFIG_SH=uconfig.sh CONFIG_H=uconfig.h sh ./config_h.SH # Do not regenerate perly.c and perly.h. perly.c: perly.y -@echo perly.c is uptodate perly.h: perly.y -@echo perly.h is uptodate # The microperl objects. uav$(_O): $(HE) av.c $(CC) -c -o $@ $(CFLAGS) av.c udeb$(_O): $(HE) deb.c $(CC) -c -o $@ $(CFLAGS) deb.c udoio$(_O): $(HE) doio.c $(CC) -c -o $@ $(CFLAGS) doio.c udoop$(_O): $(HE) doop.c $(CC) -c -o $@ $(CFLAGS) doop.c udump$(_O): $(HE) dump.c regcomp.h regnodes.h $(CC) -c -o $@ $(CFLAGS) dump.c uglobals$(_O): $(H) globals.c INTERN.h perlapi.h $(CC) -c -o $@ $(CFLAGS) globals.c ugv$(_O): $(HE) gv.c $(CC) -c -o $@ $(CFLAGS) gv.c uhv$(_O): $(HE) hv.c $(CC) -c -o $@ $(CFLAGS) hv.c umg$(_O): $(HE) mg.c $(CC) -c -o $@ $(CFLAGS) mg.c uperlmain$(_O): $(HE) miniperlmain.c $(CC) -c -o $@ $(CFLAGS) miniperlmain.c uop$(_O): $(HE) op.c keywords.h $(CC) -c -o $@ $(CFLAGS) -DPERL_EXTERNAL_GLOB op.c ureentr$(_O): $(HE) reentr.c $(CC) -c -o $@ $(CFLAGS) reentr.c upad$(_O): $(HE) pad.c $(CC) -c -o $@ $(CFLAGS) pad.c uperl$(_O): $(HE) perl.c $(CC) -c -o $@ $(CFLAGS) perl.c uperlio$(_O): $(HE) perlio.c $(CC) -c -o $@ $(CFLAGS) perlio.c uperly$(_O): $(HE) perly.c $(CC) -c -o $@ $(CFLAGS) perly.c upp$(_O): $(HE) pp.c $(CC) -c -o $@ $(CFLAGS) pp.c upp_ctl$(_O): $(HE) pp_ctl.c $(CC) -c -o $@ $(CFLAGS) pp_ctl.c upp_hot$(_O): $(HE) pp_hot.c $(CC) -c -o $@ $(CFLAGS) pp_hot.c upp_sys$(_O): $(HE) pp_sys.c $(CC) -c -o $@ $(CFLAGS) pp_sys.c upp_pack$(_O): $(HE) pp_pack.c $(CC) -c -o $@ $(CFLAGS) pp_pack.c upp_sort$(_O): $(HE) pp_sort.c $(CC) -c -o $@ $(CFLAGS) pp_sort.c uregcomp$(_O): $(HE) regcomp.c regcomp.h regnodes.h INTERN.h $(CC) -c -o $@ $(CFLAGS) regcomp.c uregexec$(_O): $(HE) regexec.c regcomp.h regnodes.h $(CC) -c -o $@ $(CFLAGS) regexec.c urun$(_O): $(HE) run.c $(CC) -c -o $@ $(CFLAGS) run.c uscope$(_O): $(HE) scope.c $(CC) -c -o $@ $(CFLAGS) scope.c usv$(_O): $(HE) sv.c $(CC) -c -o $@ $(CFLAGS) sv.c utaint$(_O): $(HE) taint.c $(CC) -c -o $@ $(CFLAGS) taint.c utoke$(_O): $(HE) toke.c keywords.h $(CC) -c -o $@ $(CFLAGS) toke.c ulocale$(_O): $(HE) locale.c $(CC) -c -o $@ $(CFLAGS) locale.c unumeric$(_O): $(HE) numeric.c $(CC) -c -o $@ $(CFLAGS) numeric.c uuniversal$(_O): $(HE) universal.c XSUB.h $(CC) -c -o $@ $(CFLAGS) universal.c uutf8$(_O): $(HE) utf8.c $(CC) -c -o $@ $(CFLAGS) utf8.c uutil$(_O): $(HE) util.c $(CC) -c -o $@ $(CFLAGS) util.c uperlapi$(_O): $(HE) perlapi.c perlapi.h $(CC) -c -o $@ $(CFLAGS) perlapi.c uxsutils$(_O): $(HE) xsutils.c $(CC) -c -o $@ $(CFLAGS) xsutils.c # That's it, folks!