This is a feature of bookdown actually. When use inside RStudio, the build Book button with use the site: bookdown::bookdown_site function that is in the index.yaml to know which function to run.
bookdown::bookdown_site() will do the following to render a book project:
use _render.R to build the book if this file exists in the book project
use Makefile by calling make if a Makefile exists in the book project
call render_book("index.Rmd", ...) otherwise.
That is why you Makefile is executed. bookdown assumes that if there is one in the book project it is to build the book.