flymake で nmake
flymake で nmake が使われるようにした.
単純に Visual C++ のコンパイラーを直接呼ぶより include ディレクトリとか追加できて超便利!
.emacs.el
.emacs.el にはこんな感じで追加するといいよ
(defun flymake-nmake-init () (let* ((temp-file (flymake-init-create-temp-buffer-copy 'flymake-create-temp-inplace)) (local-file (file-relative-name temp-file (file-name-directory buffer-file-name)))) ;; "/F" "flymake.mak" は Makefile を指定する人用. ;; Makefile が "Makefile" な人はいらない. (list "nmake" (list "/NOLOGO" "/I" "/S" "/F" "flymake.mak" (concat "CHK_SOURCES=" local-file) "check-syntax")))) (push '("\\.c\\'" flymake-nmake-init) flymake-allowed-file-name-masks) (push '("\\.h\\'" flymake-nmake-init) flymake-allowed-file-name-masks) (push '("\\.cc\\'" flymake-nmake-init) flymake-allowed-file-name-masks) (push '("\\.cpp\\'" flymake-nmake-init) flymake-allowed-file-name-masks) (push '("\\.hh\\'" flymake-nmake-init) flymake-allowed-file-name-masks) (push '("\\.hpp\\'" flymake-nmake-init) flymake-allowed-file-name-masks))
Makefile
僕の場合は "flymake.mak" っていう flymake 専用の Makefile を作った.
普通の人は "Makefile" っていう普通の Makefile でいいと思う.
中身は↓な感じ.
CC=cl /TC CXX=cl /TP # ここに追加の include ディレクトリ パスを追加する. CFLAGS=/nologo /W4 /Wp64 /I"C:\\Program Files\\Microsoft Visual Studio 8\\VC\\atlmfc\\include" CPPFLAGS=$(CFLAGS) check-syntax: $(CXX) $(CPPFLAGS) /Zs $(CHK_SOURCES)