help-gnu-emacs
[Top][All Lists]
Advanced

[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)) "\""))
|   )
| 
`----


reply via email to

[Prev in Thread] Current Thread [Next in Thread]