Changes in make infrastructure

看板DFBSD_submit作者時間20年前 (2005/04/13 07:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/3 (看更多)
This is a multi-part message in MIME format. --------------040503070508040702080704 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Hi, I plan to commit a few patches that change the behavoir of make sometime next week. And I would like some feed back before I do this. This is work that harti has done. 1. Make the parser more strict for directives for example .if, .else, .elif, .endif, etc. Right now the parser accepts things like .undefFOO .elseif (other condition) the first case is equivilant to .undef FOO which isn't bad, but the second case is really bad since you would never know that it was treat the other condition as a comment. The new parser requires a space after the directive token. and warns about non-comments after .else and .endif This however, causes make to emit warnings for some of our makefiles. patch-3.0 puts a # after the directives to silence the warnings. (Its a standard diff since the unfied diff is much bigger.) .if defined(FOOBAR) .else defined(FOOBAR) .endif !defined(FOOBAR) will become .if defined(FOOBAR) .else # defined(FOOBAR) .endif # !defined(FOOBAR) Which makes it clear that the defined(FOOBAR) on the later lines are just comments. 2. change the .makenev directive to a special target. .EXPORT: this is more posix compliant. This will also require some minor edits to our make files in /src/share/mk/bsd.* Does anyone see any problems with these changes? Max --------------040503070508040702080704 Content-Type: text/plain; name="patch-3.0" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="patch-3.0" Index: sys/conf/kmod.mk =================================================================== RCS file: /cvs/src/sys/conf/kmod.mk,v retrieving revision 1.18 diff -r1.18 kmod.mk 197c197 < .endif !target(realinstall) --- > .endif # !target(realinstall) 206c206 < .endif !target(install) --- > .endif # !target(install) Index: share/mk/bsd.files.mk =================================================================== RCS file: /cvs/src/share/mk/bsd.files.mk,v retrieving revision 1.2 diff -r1.2 bsd.files.mk 64c64 < .endif defined(${group}) && !empty(${group}) --- > .endif # defined(${group}) && !empty(${group}) 67c67 < .endif !target(installfiles) --- > .endif # !target(installfiles) Index: share/mk/bsd.incs.mk =================================================================== RCS file: /cvs/src/share/mk/bsd.incs.mk,v retrieving revision 1.4 diff -r1.4 bsd.incs.mk 63c63 < .endif defined(${group}) && !empty(${group}) --- > .endif # defined(${group}) && !empty(${group}) 78c78 < .endif !target(installincludes) --- > .endif # !target(installincludes) Index: share/mk/bsd.init.mk =================================================================== RCS file: /cvs/src/share/mk/bsd.init.mk,v retrieving revision 1.6 diff -r1.6 bsd.init.mk 19c19 < .endif !target(__<bsd.init.mk>__) --- > .endif # !target(__<bsd.init.mk>__) Index: share/mk/bsd.lib.mk =================================================================== RCS file: /cvs/src/share/mk/bsd.lib.mk,v retrieving revision 1.9 diff -r1.9 bsd.lib.mk 268c268 < .endif !defined(INTERNALLIB) --- > .endif # !defined(INTERNALLIB) 322c322 < .endif !defined(INTERNALLIB) --- > .endif # !defined(INTERNALLIB) Index: share/mk/bsd.nls.mk =================================================================== RCS file: /cvs/src/share/mk/bsd.nls.mk,v retrieving revision 1.1 diff -r1.1 bsd.nls.mk 76c76 < .endif defined(NLS) && !empty(NLS) && !defined(NO_NLS) --- > .endif # defined(NLS) && !empty(NLS) && !defined(NO_NLS) Index: share/mk/bsd.obj.mk =================================================================== RCS file: /cvs/src/share/mk/bsd.obj.mk,v retrieving revision 1.2 diff -r1.2 bsd.obj.mk 102c102 < .endif !defined(NOOBJ) --- > .endif # !defined(NOOBJ) 134c134 < .endif !target(__<bsd.obj.mk>__) --- > .endif # !target(__<bsd.obj.mk>__) Index: share/mk/bsd.own.mk =================================================================== RCS file: /cvs/src/share/mk/bsd.own.mk,v retrieving revision 1.13 diff -r1.13 bsd.own.mk 213c213 < .endif !target(__<bsd.own.mk>__) --- > .endif # !target(__<bsd.own.mk>__) Index: share/mk/bsd.prog.mk =================================================================== RCS file: /cvs/src/share/mk/bsd.prog.mk,v retrieving revision 1.7 diff -r1.7 bsd.prog.mk 46c46 < .else !defined(SRCS) --- > .else # !defined(SRCS) 126c126 < .endif !target(realinstall) --- > .endif # !target(realinstall) --------------040503070508040702080704--
文章代碼(AID): #12N5Cq00 (DFBSD_submit)
文章代碼(AID): #12N5Cq00 (DFBSD_submit)