It looks like the basic idea works, but I was using slashes as the
delimiter for the sed command that puts the post url into the archived
post. Since the url contains slashes, that failed.
If you want to follow along, bear in mind that things that look like $(XXXX) are expanded by make. Shell variables look like $XXXX, but to get a dollar sign into the shell portion of the recipe you have to double it -- $ is a make variable -- constant, actually -- that contains '$'.
The final make recipe is:
url=$$($(POSTCMD) $(ENTRY)); \
sed -i -e "1,/^$$/ s@^$$@Posted: $(POSTED) $$url\\\\n@" $(ENTRY)
rm -f .draft
git add $(ENTRY)
git commit -m "posted $(ENTRY)" -a