Makefile improvements

- Don't explicitly set 'CC', instead fall back on make's implicit
  setting of 'CC=cc'. 'cc', if present, is usually just a symlink to the
  system C compiler, which is usually gcc anyways.
- Remove explicitly setting LDFLAGS to an empty string; if LDFLAGS isn't
  set, it will be the equivalent to an empty string.
- Remove unneeded targets 'memo' and 'memo.o'; just rely on make's
  implicit targets.
- Don't check if dir exists before running mkdir; mkdir won't attempt to
  create the dir if it already exists.
- Make 'clean' a single rm call.
- Remove trailing slashes in path names.
- Replace all 'rm' calls with 'rm -f'.
- Indent 'ifeq' statement.

- Prepend paths for 'install' and 'uninstall' with $(DESTDIR).
  From 'info make':

  "The 'DESTDIR' variable is specified by the user on the 'make' command
line as an absolute file name.  For example:

     make DESTDIR=/tmp/stage install

'DESTDIR' should be supported only in the 'install*' and 'uninstall*'
targets, as those are the only targets where it is useful.

   If your installation step would normally install '/usr/local/bin/foo'
and '/usr/local/lib/libfoo.a', then an installation invoked as in the
example above would install '/tmp/stage/usr/local/bin/foo' and
'/tmp/stage/usr/local/lib/libfoo.a' instead.

   Prepending the variable 'DESTDIR' to each target in this way provides
for "staged installs", where the installed files are not placed directly
into their expected location but are instead copied into a temporary
location ('DESTDIR').  However, installed files maintain their relative
directory structure and any embedded file names will not be modified."
memo.c: rm trailing whitespace