環境が分からないので、正確ではありませんが、、Linux辺りかと思って、
gcc hoge.c
gcc コマンドに引数hoge.cを与える。 多分、gcc は、Cコンパイラで、hoge.cはCソースとすると、オプション指定が無い場合、a.out という実行ファイルを出力(作成)すると思います。
sudo ./hoge.o
sudo コマンドはスーパーユーザーで 今のディレクトリのhoge.oファイルの実行かと思いますが、上記の gcc hoge.c で、作成されるのは、a.out なので、実行ファイルが無いという事になります。
make hoge
こちらは、環境が分からないともっと意味不明ですが、、make は、今のディレクトリの makefile (または、Makefile .. make依存) を参照して、引数の hoge エントリを解釈して、実行します。従って、 makefileの中身が分からないと、実際の動きは分かりませんが、きっと、hogeというファイル名で実行ファイルを作る設定になっているのではないかと推測します。
この場合、次の ./hoge で作成された hogeが実行できます。