bsd.*.mk: Fix bug when SRCS is explicitly defined empty
There exists a valid possibility of setting a makefile to build a program
or library exclusively with OBJS defined. In the case of bsd.prog.mk,
not defining SRCS will cause the definition of OBJS to be overwritten
with ${PROG}.c or ${PROG}.cc. Defining SRCS as an empty list will stop
OBJS from being overwritten, but there's a bug. It adds ".o" to the end
of the list.
For example:
======================
OBJS= first.o second.o
SRCS=
.include <bsd.prog.mk>
======================
make -V OBJS
first.o second.o .o
This is caused by a transformation assuming SRCS has at least one item
in the list. It's fixed by only performing the transformation if SRCS
is not empty. I'm adding this check to both bsd.prog.mk and bsd.lib.mk