Masak Ufo Save

Swoops down and creates your Perl 6 project Makefile for you

Project README

== Unobtrusive Forinsecal Organizer

The abduction story is typical, and doesn't hold any elements of surprise for people well-versed in encounters with our gray-skinned 'friends'. Perhaps the only odd detail is that in my case, they weren't after my livestock or my bodily fluids, but they really wanted to collect all the old ways of configuring Perl 6 projects. Collect them and destroy them. Blast them out of existence.

In return, they handed me a small hand-held device with the letters 'ufo' on the side. From now on -- they told me -- whenever I would fall back to my primitively human urge to create a Makefile, I would just activate the device...

% ufo

...and it would create the Makefile for me, using 'ambient information'. So normally you'd probably do

% ufo && make

to build your project.

When they told me this, they had already beamed me up to their vessel and treated me to the best sirloin steak I've ever tasted, period. I was a little tipsy from the excellent wine, too, but not to the point of being drunk. Entire galaxies swooped past outside the ship's windows like they do in exceedingly bad movies. I peered at the device.

'Ok, um,' I began. 'It's important that the modules be built in a certain order, sort of like a dependency order, you know. Otherwise the build process will be unnecessarily slow because of re-parses. See what I mean?'

They looked at me pityingly, like you'd look at a pre-schooler who wants to know all about quantum computing.

'Yes. The build order will be optimized. Try not to think too much, it's not good for you.'

'If I'm a module developer, do I commit the generated Makefile?'

'No. The Makefile cannot be distributed. It is tailor-made for your local absolute paths.'

I asked them why they had come all the way here to our planet to help us with Perl 6 project Makefiles. They looked knowingly at each other, and then went into a sort of song-and-dance act, which they really must have rehearsed beforehand, 'cause they suddenly had all these special clothes and top hats and canes and stuff. As if the situation wasn't unusual enough already, having five or six gray ones dress up as Fred Astaire and do a dance number... it was taxing on my poor human senses. From what I caught of the lyrics, which was full of bad ET clichés, they had travelled many of 'our Earth years' to make sure that we live up to our 'destiny as a species' using our 'full potential'. Apparently -- and here I confess that my memory is a bit vague -- this wouldn't be possible if we held on to our old way of configuring Makefiles.

Having no other question, I was beamed back to an isolated cow pasture not far from where I live. Somehow I knew that my task was now to locate the remaining 'Makefile.PL' and 'Configure' files and their brethren, and convince others to remove them so that humanity could finally unshackle itself from its archaic technology.

And no-one would believe that my story was anything but a dream. Except that I still carry this small device they gave me...


My friend Ingy, who has lots of prior experience with alien technology, wrote this little cheatsheet to help other humans use the device:

% ufo                      # (re)write the Makefile
% make                     # compile your Perl 6 libraries to PIR
% make all                 # ditto
% make build               # ditto
% make test                # run your unit tests
% make loudtest            # like test, but do not supress the TAP output
% make timetest            # like loudtest, but with timings
% make install             # install your source/PIR (no need to sudo)
% PREFIX=somewhere/else make -e install # install somewhere else
% make clean               # clean up leftovers
% make distclean           # make clean and remove the Makefile
% make purge               # ditto
% ufo && make test install purge # do it all and leave no trace

== Repositories that still use human technology

  • benchmark --, lib/ and
  • io-prompt --, lib/ and
Open Source Agenda is not affiliated with "Masak Ufo" Project. README Source: masak/ufo
Open Issues
Last Commit
6 years ago

Open Source Agenda Badge

Open Source Agenda Rating