X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=inline;f=hacks%2FMakefile.in;h=c818b1fc2f322e5bb05bd2126c9da70f4be6d5a4;hb=96a411663168b0ba5432b407a83be55f3df0c802;hp=691e6b3b1723a777abcac6d4c12cd7b404252862;hpb=4cecfc89e5e889c7232693897c06168fb378bd5c;p=xscreensaver diff --git a/hacks/Makefile.in b/hacks/Makefile.in index 691e6b3b..c818b1fc 100644 --- a/hacks/Makefile.in +++ b/hacks/Makefile.in @@ -73,7 +73,8 @@ UTIL_OBJS = $(UTILS_BIN)/alpha.o $(UTILS_BIN)/colors.o \ $(UTILS_BIN)/spline.o $(UTILS_BIN)/usleep.o \ $(UTILS_BIN)/visual.o $(UTILS_BIN)/logo.o \ $(UTILS_BIN)/yarandom.o $(UTILS_BIN)/erase.o \ - $(UTILS_SRC)/xshm.o $(UTILS_SRC)/xdbe.o + $(UTILS_BIN)/xshm.o $(UTILS_BIN)/xdbe.o \ + $(UTILS_BIN)/colorbars.o SRCS = attraction.c blitspin.c bouboule.c braid.c bubbles.c \ bubbles-default.c decayscreen.c deco.c drift.c flag.c \ @@ -97,8 +98,9 @@ SRCS = attraction.c blitspin.c bouboule.c braid.c bubbles.c \ xpm-pixmap.c webcollage-helper.c twang.c apollonian.c \ euler2d.c juggle.c polyominoes.c thornbird.c fluidballs.c \ anemone.c halftone.c metaballs.c eruption.c popsquares.c \ - barcode.c -SCRIPTS = vidwhacker webcollage + barcode.c piecewise.c cloudlife.c fontglide.c apple2.c \ + apple2-main.c analogtv.c xanalogtv.c pong.c +SCRIPTS = vidwhacker webcollage ljlatest OBJS = attraction.o blitspin.o bouboule.o braid.o bubbles.o \ bubbles-default.o decayscreen.o deco.o drift.o flag.o \ @@ -122,7 +124,8 @@ OBJS = attraction.o blitspin.o bouboule.o braid.o bubbles.o \ xpm-pixmap.o webcollage-helper.o twang.o apollonian.o \ euler2d.o juggle.o polyominoes.o thornbird.o fluidballs.o \ anemone.o halftone.o metaballs.o eruption.o popsquares.o \ - barcode.o + barcode.o piecewise.o cloudlife.o fontglide.o apple2.o \ + apple2-main.o analogtv.o xanalogtv.o pong.o NEXES = attraction blitspin bouboule braid bubbles decayscreen deco \ drift flag flame forest vines galaxy grav greynetic halo \ @@ -139,7 +142,8 @@ NEXES = attraction blitspin bouboule braid bubbles decayscreen deco \ nerverot xrayswarm hyperball zoom whirlwindwarp rotzoomer \ whirlygig speedmine vermiculate twang apollonian euler2d \ juggle polyominoes thornbird fluidballs anemone halftone \ - metaballs eruption popsquares barcode \ + metaballs eruption popsquares barcode piecewise cloudlife \ + fontglide apple2 xanalogtv pong \ @JPEG_EXES@ SEXES = sonar JPEG_EXES = webcollage-helper @@ -155,7 +159,7 @@ XSHM_OBJS = $(UTILS_BIN)/xshm.o XDBE_OBJS = $(UTILS_BIN)/xdbe.o HDRS = bubbles.h screenhack.h xlockmore.h xlockmoreI.h automata.h \ - bumps.h xpm-pixmap.h + bumps.h xpm-pixmap.h apple2.h analogtv.h MEN = anemone.man ant.man apollonian.man attraction.man \ blaster.man blitspin.man bouboule.man braid.man bsod.man \ bubbles.man bumps.man ccurve.man compass.man coral.man \ @@ -180,7 +184,9 @@ MEN = anemone.man ant.man apollonian.man attraction.man \ wander.man webcollage.man whirlwindwarp.man whirlygig.man \ worm.man xflame.man xjack.man xlyap.man xmatrix.man \ xrayswarm.man xspirograph.man xsublim.man xteevee.man \ - zoom.man halftone.man eruption.man metaballs.man barcode.man + zoom.man halftone.man eruption.man metaballs.man \ + barcode.man piecewise.man cloudlife.man ljlatest.man \ + fontglide.man apple2.man xanalogtv.man pong.man STAR = * EXTRAS = README Makefile.in xlock_23.h xml2man.pl .gdbinit \ config/README \ @@ -264,12 +270,13 @@ munge-scripts: $(SCRIPTS) perl="${PERL}" ; \ rm -f $$tmp ; \ for program in $(SCRIPTS); do \ - echo "adjusting location of perl in $$program..." ; \ sed "s@^\(#!\)\(/[^ ]*/perl[^ ]*\)\(.*\)\$$@\1$$perl\3@" \ < $(srcdir)/$$program > $$tmp ; \ if cmp -s $(srcdir)/$$program $$tmp ; then \ + echo "$$program unchanged" ; \ true ; \ else \ + echo "$$program: setting interpreter to $$perl" ; \ cat $$tmp > ./$$program ; \ fi ; \ done ; \ @@ -386,7 +393,8 @@ check_xml: for exe in $(EXES) $(SCRIPTS); do \ if ! [ -f $(srcdir)/config/$$exe.xml \ -o "$$exe" = webcollage-helper \ - -o "$$exe" = xsublim ]; then \ + -o "$$exe" = xsublim \ + -o "$$exe" = ljlatest ]; then \ badxml="$$badxml $$exe" ; \ fi ; \ done ; \ @@ -502,6 +510,8 @@ COL = $(COLOR_OBJS) SHM = $(XSHM_OBJS) DBE = $(XDBE_OBJS) BARS = $(UTILS_BIN)/colorbars.o $(LOGO) +ATV = analogtv.o $(SHM) +APPLE2 = apple2.o $(ATV) CC_HACK = $(CC) $(LDFLAGS) @@ -621,8 +631,14 @@ interference: interference.o $(HACK_OBJS) $(COL) $(SHM) $(DBE) truchet: truchet.o $(HACK_OBJS) $(COL) $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS) -bsod: bsod.o $(HACK_OBJS) $(GRAB) $(XPM) - $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(XPM) $(XPM_LIBS) +bsod: bsod.o $(HACK_OBJS) $(GRAB) $(APPLE2) $(XPM) + $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(APPLE2) $(XPM) $(XPM_LIBS) + +apple2: apple2.o apple2-main.o $(HACK_OBJS) $(ATV) $(GRAB) + $(CC_HACK) -o $@ $@.o apple2-main.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM_LIBS) + +xanalogtv: xanalogtv.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM) + $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM) $(XPM_LIBS) $(HACK_LIBS) distort: distort.o $(HACK_OBJS) $(GRAB) $(SHM) $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(SHM) $(HACK_LIBS) @@ -741,6 +757,18 @@ popsquares: popsquares.o $(HACK_OBJS) $(DBE) $(COL) barcode: barcode.o $(HACK_OBJS) $(HSV) $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HSV) $(HACK_LIBS) +piecewise: piecewise.o $(HACK_OBJS) $(COL) $(DBE) + $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(DBE) $(HACK_LIBS) + +cloudlife: cloudlife.o $(HACK_OBJS) $(COL) $(DBE) + $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(DBE) $(HACK_LIBS) + +fontglide: fontglide.o $(HACK_OBJS) $(DBE) + $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(DBE) $(HACK_LIBS) + +pong: pong.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM) + $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM) $(XPM_LIBS) $(HACK_LIBS) + # The rules for those hacks which follow the `xlockmore' API. # @@ -873,17 +901,27 @@ webcollage-helper: webcollage-helper.o # # DO NOT DELETE: updated by make distdepend +analogtv.o: $(srcdir)/analogtv.h +analogtv.o: ../config.h anemone.o: ../config.h anemone.o: $(srcdir)/screenhack.h ant.o: $(srcdir)/automata.h ant.o: ../config.h ant.o: $(srcdir)/screenhack.h -ant.o: $(srcdir)/xlockmoreI.h ant.o: $(srcdir)/xlockmore.h +ant.o: $(srcdir)/xlockmoreI.h apollonian.o: ../config.h apollonian.o: $(srcdir)/screenhack.h -apollonian.o: $(srcdir)/xlockmoreI.h apollonian.o: $(srcdir)/xlockmore.h +apollonian.o: $(srcdir)/xlockmoreI.h +apple2-main.o: $(srcdir)/analogtv.h +apple2-main.o: $(srcdir)/apple2.h +apple2-main.o: ../config.h +apple2-main.o: $(srcdir)/screenhack.h +apple2.o: $(srcdir)/analogtv.h +apple2.o: $(srcdir)/apple2.h +apple2.o: ../config.h +apple2.o: $(srcdir)/screenhack.h attraction.o: ../config.h attraction.o: $(srcdir)/screenhack.h barcode.o: ../config.h @@ -896,12 +934,14 @@ blitspin.o: $(srcdir)/screenhack.h blitspin.o: $(srcdir)/xpm-pixmap.h bouboule.o: ../config.h bouboule.o: $(srcdir)/screenhack.h -bouboule.o: $(srcdir)/xlockmoreI.h bouboule.o: $(srcdir)/xlockmore.h +bouboule.o: $(srcdir)/xlockmoreI.h braid.o: ../config.h braid.o: $(srcdir)/screenhack.h -braid.o: $(srcdir)/xlockmoreI.h braid.o: $(srcdir)/xlockmore.h +braid.o: $(srcdir)/xlockmoreI.h +bsod.o: $(srcdir)/analogtv.h +bsod.o: $(srcdir)/apple2.h bsod.o: ../config.h bsod.o: $(srcdir)/images/amiga.xpm bsod.o: $(srcdir)/images/atari.xbm @@ -965,6 +1005,8 @@ bumps.o: ../config.h bumps.o: $(srcdir)/screenhack.h ccurve.o: ../config.h ccurve.o: $(srcdir)/screenhack.h +cloudlife.o: ../config.h +cloudlife.o: $(srcdir)/screenhack.h compass.o: ../config.h compass.o: $(srcdir)/screenhack.h coral.o: ../config.h @@ -973,8 +1015,8 @@ critical.o: ../config.h critical.o: $(srcdir)/screenhack.h crystal.o: ../config.h crystal.o: $(srcdir)/screenhack.h -crystal.o: $(srcdir)/xlockmoreI.h crystal.o: $(srcdir)/xlockmore.h +crystal.o: $(srcdir)/xlockmoreI.h cynosure.o: ../config.h cynosure.o: $(srcdir)/screenhack.h decayscreen.o: ../config.h @@ -986,58 +1028,60 @@ deluxe.o: $(srcdir)/screenhack.h demon.o: $(srcdir)/automata.h demon.o: ../config.h demon.o: $(srcdir)/screenhack.h -demon.o: $(srcdir)/xlockmoreI.h demon.o: $(srcdir)/xlockmore.h +demon.o: $(srcdir)/xlockmoreI.h discrete.o: ../config.h discrete.o: $(srcdir)/screenhack.h -discrete.o: $(srcdir)/xlockmoreI.h discrete.o: $(srcdir)/xlockmore.h +discrete.o: $(srcdir)/xlockmoreI.h distort.o: ../config.h distort.o: $(srcdir)/screenhack.h drift.o: ../config.h drift.o: $(srcdir)/screenhack.h -drift.o: $(srcdir)/xlockmoreI.h drift.o: $(srcdir)/xlockmore.h +drift.o: $(srcdir)/xlockmoreI.h epicycle.o: ../config.h epicycle.o: $(srcdir)/screenhack.h eruption.o: ../config.h eruption.o: $(srcdir)/screenhack.h euler2d.o: ../config.h euler2d.o: $(srcdir)/screenhack.h -euler2d.o: $(srcdir)/xlockmoreI.h euler2d.o: $(srcdir)/xlockmore.h +euler2d.o: $(srcdir)/xlockmoreI.h fadeplot.o: ../config.h fadeplot.o: $(srcdir)/screenhack.h -fadeplot.o: $(srcdir)/xlockmoreI.h fadeplot.o: $(srcdir)/xlockmore.h +fadeplot.o: $(srcdir)/xlockmoreI.h flag.o: ../config.h flag.o: $(srcdir)/images/bob.xbm flag.o: $(srcdir)/screenhack.h -flag.o: $(srcdir)/xlockmoreI.h flag.o: $(srcdir)/xlockmore.h +flag.o: $(srcdir)/xlockmoreI.h flag.o: $(srcdir)/xpm-pixmap.h flame.o: ../config.h flame.o: $(srcdir)/screenhack.h flow.o: ../config.h flow.o: $(srcdir)/screenhack.h -flow.o: $(srcdir)/xlockmoreI.h flow.o: $(srcdir)/xlockmore.h +flow.o: $(srcdir)/xlockmoreI.h fluidballs.o: ../config.h fluidballs.o: $(srcdir)/screenhack.h +fontglide.o: ../config.h +fontglide.o: $(srcdir)/screenhack.h forest.o: ../config.h forest.o: $(srcdir)/screenhack.h -forest.o: $(srcdir)/xlockmoreI.h forest.o: $(srcdir)/xlockmore.h +forest.o: $(srcdir)/xlockmoreI.h galaxy.o: ../config.h galaxy.o: $(srcdir)/screenhack.h -galaxy.o: $(srcdir)/xlockmoreI.h galaxy.o: $(srcdir)/xlockmore.h +galaxy.o: $(srcdir)/xlockmoreI.h goop.o: ../config.h goop.o: $(srcdir)/screenhack.h grav.o: ../config.h grav.o: $(srcdir)/screenhack.h -grav.o: $(srcdir)/xlockmoreI.h grav.o: $(srcdir)/xlockmore.h +grav.o: $(srcdir)/xlockmoreI.h greynetic.o: ../config.h greynetic.o: $(srcdir)/screenhack.h halftone.o: ../config.h @@ -1048,16 +1092,16 @@ helix.o: ../config.h helix.o: $(srcdir)/screenhack.h hopalong.o: ../config.h hopalong.o: $(srcdir)/screenhack.h -hopalong.o: $(srcdir)/xlockmoreI.h hopalong.o: $(srcdir)/xlockmore.h +hopalong.o: $(srcdir)/xlockmoreI.h hyperball.o: ../config.h hyperball.o: $(srcdir)/screenhack.h hypercube.o: ../config.h hypercube.o: $(srcdir)/screenhack.h ifs.o: ../config.h ifs.o: $(srcdir)/screenhack.h -ifs.o: $(srcdir)/xlockmoreI.h ifs.o: $(srcdir)/xlockmore.h +ifs.o: $(srcdir)/xlockmoreI.h imsmap.o: ../config.h imsmap.o: $(srcdir)/screenhack.h interference.o: ../config.h @@ -1102,39 +1146,39 @@ jigsaw.o: $(srcdir)/images/jigsaw/jigsaw_b_w_h.xbm jigsaw.o: $(srcdir)/screenhack.h juggle.o: ../config.h juggle.o: $(srcdir)/screenhack.h -juggle.o: $(srcdir)/xlockmoreI.h juggle.o: $(srcdir)/xlockmore.h +juggle.o: $(srcdir)/xlockmoreI.h julia.o: ../config.h julia.o: $(srcdir)/screenhack.h -julia.o: $(srcdir)/xlockmoreI.h julia.o: $(srcdir)/xlockmore.h +julia.o: $(srcdir)/xlockmoreI.h kaleidescope.o: ../config.h kaleidescope.o: $(srcdir)/screenhack.h kumppa.o: ../config.h kumppa.o: $(srcdir)/screenhack.h laser.o: ../config.h laser.o: $(srcdir)/screenhack.h -laser.o: $(srcdir)/xlockmoreI.h laser.o: $(srcdir)/xlockmore.h +laser.o: $(srcdir)/xlockmoreI.h lightning.o: ../config.h lightning.o: $(srcdir)/screenhack.h -lightning.o: $(srcdir)/xlockmoreI.h lightning.o: $(srcdir)/xlockmore.h +lightning.o: $(srcdir)/xlockmoreI.h lisa.o: ../config.h lisa.o: $(srcdir)/screenhack.h -lisa.o: $(srcdir)/xlockmoreI.h lisa.o: $(srcdir)/xlockmore.h +lisa.o: $(srcdir)/xlockmoreI.h lissie.o: ../config.h lissie.o: $(srcdir)/screenhack.h -lissie.o: $(srcdir)/xlockmoreI.h lissie.o: $(srcdir)/xlockmore.h +lissie.o: $(srcdir)/xlockmoreI.h lmorph.o: ../config.h lmorph.o: $(srcdir)/screenhack.h loop.o: $(srcdir)/automata.h loop.o: ../config.h loop.o: $(srcdir)/screenhack.h -loop.o: $(srcdir)/xlockmoreI.h loop.o: $(srcdir)/xlockmore.h +loop.o: $(srcdir)/xlockmoreI.h maze.o: ../config.h maze.o: $(srcdir)/screenhack.h metaballs.o: ../config.h @@ -1145,8 +1189,8 @@ moire.o: ../config.h moire.o: $(srcdir)/screenhack.h mountain.o: ../config.h mountain.o: $(srcdir)/screenhack.h -mountain.o: $(srcdir)/xlockmoreI.h mountain.o: $(srcdir)/xlockmore.h +mountain.o: $(srcdir)/xlockmoreI.h munch.o: ../config.h munch.o: $(srcdir)/screenhack.h nerverot.o: ../config.h @@ -1168,16 +1212,21 @@ penetrate.o: ../config.h penetrate.o: $(srcdir)/screenhack.h penrose.o: ../config.h penrose.o: $(srcdir)/screenhack.h -penrose.o: $(srcdir)/xlockmoreI.h penrose.o: $(srcdir)/xlockmore.h +penrose.o: $(srcdir)/xlockmoreI.h petri.o: ../config.h petri.o: $(srcdir)/screenhack.h phosphor.o: ../config.h phosphor.o: $(srcdir)/screenhack.h +piecewise.o: ../config.h +piecewise.o: $(srcdir)/screenhack.h polyominoes.o: ../config.h polyominoes.o: $(srcdir)/screenhack.h -polyominoes.o: $(srcdir)/xlockmoreI.h polyominoes.o: $(srcdir)/xlockmore.h +polyominoes.o: $(srcdir)/xlockmoreI.h +pong.o: $(srcdir)/analogtv.h +pong.o: ../config.h +pong.o: $(srcdir)/screenhack.h popsquares.o: ../config.h popsquares.o: $(srcdir)/screenhack.h pyro.o: ../config.h @@ -1194,8 +1243,8 @@ rorschach.o: ../config.h rorschach.o: $(srcdir)/screenhack.h rotor.o: ../config.h rotor.o: $(srcdir)/screenhack.h -rotor.o: $(srcdir)/xlockmoreI.h rotor.o: $(srcdir)/xlockmore.h +rotor.o: $(srcdir)/xlockmoreI.h rotzoomer.o: ../config.h rotzoomer.o: $(srcdir)/screenhack.h screenhack.o: ../config.h @@ -1204,26 +1253,26 @@ shadebobs.o: ../config.h shadebobs.o: $(srcdir)/screenhack.h sierpinski.o: ../config.h sierpinski.o: $(srcdir)/screenhack.h -sierpinski.o: $(srcdir)/xlockmoreI.h sierpinski.o: $(srcdir)/xlockmore.h +sierpinski.o: $(srcdir)/xlockmoreI.h slidescreen.o: ../config.h slidescreen.o: $(srcdir)/screenhack.h slip.o: ../config.h slip.o: $(srcdir)/screenhack.h -slip.o: $(srcdir)/xlockmoreI.h slip.o: $(srcdir)/xlockmore.h +slip.o: $(srcdir)/xlockmoreI.h sonar.o: ../config.h sonar.o: $(srcdir)/screenhack.h speedmine.o: ../config.h speedmine.o: $(srcdir)/screenhack.h sphere.o: ../config.h sphere.o: $(srcdir)/screenhack.h -sphere.o: $(srcdir)/xlockmoreI.h sphere.o: $(srcdir)/xlockmore.h +sphere.o: $(srcdir)/xlockmoreI.h spiral.o: ../config.h spiral.o: $(srcdir)/screenhack.h -spiral.o: $(srcdir)/xlockmoreI.h spiral.o: $(srcdir)/xlockmore.h +spiral.o: $(srcdir)/xlockmoreI.h spotlight.o: ../config.h spotlight.o: $(srcdir)/screenhack.h squiral.o: ../config.h @@ -1232,22 +1281,22 @@ starfish.o: ../config.h starfish.o: $(srcdir)/screenhack.h strange.o: ../config.h strange.o: $(srcdir)/screenhack.h -strange.o: $(srcdir)/xlockmoreI.h strange.o: $(srcdir)/xlockmore.h +strange.o: $(srcdir)/xlockmoreI.h swirl.o: ../config.h swirl.o: $(srcdir)/screenhack.h -swirl.o: $(srcdir)/xlockmoreI.h swirl.o: $(srcdir)/xlockmore.h +swirl.o: $(srcdir)/xlockmoreI.h t3d.o: ../config.h t3d.o: $(srcdir)/screenhack.h thornbird.o: ../config.h thornbird.o: $(srcdir)/screenhack.h -thornbird.o: $(srcdir)/xlockmoreI.h thornbird.o: $(srcdir)/xlockmore.h +thornbird.o: $(srcdir)/xlockmoreI.h triangle.o: ../config.h triangle.o: $(srcdir)/screenhack.h -triangle.o: $(srcdir)/xlockmoreI.h triangle.o: $(srcdir)/xlockmore.h +triangle.o: $(srcdir)/xlockmoreI.h truchet.o: ../config.h truchet.o: $(srcdir)/screenhack.h twang.o: ../config.h @@ -1256,8 +1305,8 @@ vermiculate.o: ../config.h vermiculate.o: $(srcdir)/screenhack.h vines.o: ../config.h vines.o: $(srcdir)/screenhack.h -vines.o: $(srcdir)/xlockmoreI.h vines.o: $(srcdir)/xlockmore.h +vines.o: $(srcdir)/xlockmoreI.h wander.o: ../config.h wander.o: $(srcdir)/screenhack.h webcollage-helper.o: ../config.h @@ -1267,8 +1316,12 @@ whirlygig.o: ../config.h whirlygig.o: $(srcdir)/screenhack.h worm.o: ../config.h worm.o: $(srcdir)/screenhack.h -worm.o: $(srcdir)/xlockmoreI.h worm.o: $(srcdir)/xlockmore.h +worm.o: $(srcdir)/xlockmoreI.h +xanalogtv.o: $(srcdir)/analogtv.h +xanalogtv.o: ../config.h +xanalogtv.o: $(srcdir)/screenhack.h +xanalogtv.o: $(srcdir)/xpm-pixmap.h xflame.o: ../config.h xflame.o: $(srcdir)/images/bob.xbm xflame.o: $(srcdir)/screenhack.h @@ -1281,10 +1334,6 @@ xlockmore.o: $(srcdir)/xlockmoreI.h xlyap.o: ../config.h xlyap.o: $(srcdir)/screenhack.h xmatrix.o: ../config.h -xmatrix.o: $(srcdir)/images/matrix0b.xbm -xmatrix.o: $(srcdir)/images/matrix0b.xpm -xmatrix.o: $(srcdir)/images/matrix0.xbm -xmatrix.o: $(srcdir)/images/matrix0.xpm xmatrix.o: $(srcdir)/images/matrix1b.xbm xmatrix.o: $(srcdir)/images/matrix1b.xpm xmatrix.o: $(srcdir)/images/matrix1.xbm