source: heimdal/trunk/windows/maint.el@ 4

Last change on this file since 4 was 1, checked in by Paul Smedley, 10 years ago

Initial commit of Heimdal 1.5.3

File size: 1.4 KB
Line 
1
2
3(defun generate-obj-macro (mname &optional postfix &rest slist)
4 "Generates a macro definition for an OBJs dependency based on a list of source definitions"
5
6 (let*
7 ((replist (apply 'append (mapcar (lambda (sdef)
8 (goto-char 0)
9 (let*
10 ((def (buffer-substring-no-properties
11 (search-forward (concat sdef " = \\\n") nil t)
12 (search-forward "\n\n" nil t)))
13 (st (split-string
14 (replace-regexp-in-string "^.*\\.h.*\n" "" def)
15 "\\s-+\\\\?\\|\n" t)))
16 st)) slist)))
17 (def-start (search-forward (concat mname " = \\\n") nil t))
18 (def-end (search-forward "\n\n" nil t))
19
20 (repl (mapconcat
21 (lambda (s)
22 (concat "\t"
23 (replace-regexp-in-string
24 "\\(\\s-*\\)\\(.*\\)\\.c" "\\1$(OBJ)\\\\\\2.obj" s)
25 " \\"))
26 replist "\n"))
27 (erepl (if postfix
28 (concat repl "\n" postfix "\n\n")
29 (concat repl "\n\n")))
30 )
31 (delete-region def-start def-end)
32 (insert erepl))
33 )
34
Note: See TracBrowser for help on using the repository browser.