parse options sooner so -d can specify $DIR before erroring