[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Compiling C++ in emacs
From: |
Richard Riley |
Subject: |
Re: Compiling C++ in emacs |
Date: |
Sun, 16 Nov 2008 21:41:31 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) |
Corrected a small error so Makefile or makefile works now and also to
look for SConstruct file first to use the fantastic scons make tool.
,----
| (defun do-compile()
| (compile (make-command))
| )
|
|
|
| (defun make-command()
|
| (if (or (file-exists-p "makefile")
| (file-exists-p "Makefile"))
| "make" )
| (if (file-exists-p "SConstruct")
| "scons"
| (let ((file (file-name-nondirectory buffer-file-name)))
| (if (equal (file-name-extension buffer-file-name) "cc")
| (progn
| (format "%s %s %s -o %s"
| (or (getenv "CC") "g++")
| (or (getenv "CPPFLAGS")"-Wall -g") "*.cc"
| (file-name-sans-extension file)
| ))
| (format "%s -o %s %s %s %s %s"
| (or (getenv "CC") "gcc")
| (file-name-sans-extension file)
| (or (getenv "GTKFLAGS") "`pkg-config --cflags --libs gtk+-2.0`")
| (or (getenv "CPPFLAGS")"-DDEBUG=9")
| (or (getenv "CFLAGS") "-std=c99 -pedantic -Wall -Wshadow
-Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Wconversion
-Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations
-Wredundant-decls -Wnested-externs -Winline -g")
| file)
| ))))
|
|
| (defun do-lint()
| (interactive)
| (set (make-local-variable 'compile-command)
| (let ((file (file-name-nondirectory buffer-file-name)))
| (format "%s %s %s"
| "splint"
| "+single-include -strict -compdef -nullpass -preproc
+matchanyintegral -internalglobs -I/usr/include/gtk-2.0/
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/cairo/
-I/usr/include/pangomm-1.4/pangomm/"
| file
| )))
| (message compile-command)
| (compile compile-command)
| )
|
| (defun do-cdecl ()
| (interactive)
| (shell-command
| (concat "cdecl explain \"" (buffer-substring (region-beginning)
| (region-end)) "\""))
| )
|
`----