[CMAKE] Makefile을 활용하여 Flask 커맨드 단순화

매번 flask 프로젝트 세팅을 할 때, flask ~ command를 최소 4~5번은 입력해야 하는 불편함(이라 쓰고 귀찮음 이라 읽는다) 이 있어서 CMAKE를 통해 여러 command를 하나의 command로 통합하여 해결하였다.

 

프로젝트 디렉토리에 Makefile을 생성하고, 다음과 같이 작성한다.

.ONESHELL:

.PHONY: clean pip-packages install tests init migrate upgrade run first

clean:
	find . -type f -name '*.pyc' -delete
	find . -type f -name '*.log' -delete

pip-packages:
	sudo apt install python-pip -y

install:
	pip3 install -r requirements.txt;

tests:
	python3 main.py test

init:
	python3 main.py db init

migrate:
	python3 main.py db migrate

upgrade:
	python3 main.py db upgrade

run:
	python3 main.py run

first: clean pip-packages install init migrate run

위의 Makefile을 살펴보면 .PHONY: 에 command 이름을 정의하고, 그 아래에 해당 command 이름으로 실행할 명령어를 작성하는 방식이다. 한 번에 여러 command를 실행하는 방법은 Makefile의 맨 아래에 위치해 있는 'first' command를 보면, 위에서 정의한 custom command명(clean, init 등등)을 실행할 명령어 부분에 입력하면 된다.

$ make clean
$ make init
$ make first

위와 같이 make ~ 방식으로 command를 실행하면 된다.