$ npx hardhat compile
If your contract requires extra constructor arguments, you'll have to specify them in deploy options.
$ CONTRACT_NAME=GM npx hardhat run --network rinkeby scripts/deploy.js
$ npx hardhat verify CONTRACT_ADDRESS --network rinkeby