From f285eb1628e0e31470c127db83a890d57b9c6b86 Mon Sep 17 00:00:00 2001 From: jwang36 Date: Tue, 12 Aug 2008 07:54:36 +0000 Subject: [PATCH] 1. Enhanced the format of build_rule.txt to allow module type and arch information. 2. Enhanced Trim to convert ASL style of include to C style of include 3. Enhanced Trim to convert some EDK coding convention to EDK2 ECP convention 4. Added warning message when encountering unrecognized content in DSC/DEC/INF File 5. Enhanced the GenDepex to ignore everything outside DEPENDENCY_STANT and DEPENDENCY_END in dxs file git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5634 6f19259b-4bc3-4df7-8a09-765794883524 --- BaseTools/Bin/Win32/GenDepex.exe | Bin 862536 -> 867181 bytes BaseTools/Bin/Win32/Trim.exe | Bin 554473 -> 587854 bytes BaseTools/Bin/Win32/build.exe | Bin 2147178 -> 2149737 bytes BaseTools/Conf/build_rule.template | 97 ++++++++++++++++------------- BaseTools/Conf/tools_def.template | 25 ++++---- 5 files changed, 68 insertions(+), 54 deletions(-) diff --git a/BaseTools/Bin/Win32/GenDepex.exe b/BaseTools/Bin/Win32/GenDepex.exe index d11e4bf3fef12a82d32c84eb8e91cc97e3785ad5..dc0493ef2f87c6fe2553303fba61129319e705e1 100755 GIT binary patch delta 9836 zcmaJ{3w%_?xt}@vNY3s#$tIiKkoP-m5)28103kd=5<&n&I0*zIaar~(VIkQ~b`KD+ z5+o=pMJ}A;Xse=Lf3;Arm8NZOtzOYutx~8D&{`k(#MY}V_v&pcwtByB&gNm{C*geg z&&)TkZ@%xFZ)Wn_m#RMbTh${E=O?_lOPYJf-;`%*J0Y}Pe=I*ObzaSVOZ_DF&jG&| z!52L@{BeFd9i&8c5H*SH6G&$cQIp9&LOOGa>Lh_YvI$C4FlUI6b)ES{brBV)dn~Jf zsHr3%a>glRxrIbcBY`5Gn?9CXOwY& zWQ#z;34{hph?+-+D4`+vR7%=Bg~Klt-fFfb!Hnv0R#m!pTE$=x#%&?0K!yZzJtg0v zBq$KoidC-{h-M<+fg<3EBU?-)91m>?qz&8L`4~~-iDpIyRU~Pu4V#Fi?UT~dq_jMm z9*k8;7|n>K6DOq|lhR3((#ez3&PnN%(ex%eakq7Z?1WOBN<7YGtxAY~pfq2ar%{m1 zw4fcRey%h^EqYT~fxf%!L{c$i5n4+VsguSFCTh}O_^r#7CYXj>OPXkkk_E*|Hj*49 zc|i1sOQ-ASuL_Czm{Wi`8_KfvK=~fJefVOzO6fs;dBrX&=+9JCrC$Z*FnL1yeA;Hs z3Lr2LjA~J3nx0ZwL@V{0$^-QN;b$s!nvJ|l6_Qy%c&%_>AfyPGRif{h*=DUoI8%RN z<_!BZfF5j6nWM{9chJZ6A6C6a7wUUvWzjnQo>?;sO0aM-5?-wdE0}=rmK%JUPnpAf zR|`%(ykM4ITP@Q!^kvnbS?jPyo8Bp?qBc!=pUPnk2TxpGI|0A3%3?*1+_a?E0!sO`QX4? zJT{<;1b7(t)igvxY7|8a7B3>^2DEwvuonp+*97)A;mb#dKmZIEP8a!o*_U zW?EZ+9HH=az)FtF%uKF^NumszwguIwhNEwdgtf3g+!N(0*4h`0a;X|xhphE2zTSX_ zhS=)!Z}oKtR)8_Usz6##YOKpH0+fa`PX<6}9I;Xd7^m?$b?cnJ2s0>q@fuSGbIg%a z?R~(-*HG!#eGBSkE?TcQsztosxx+(q_X#wt$JbV*F9b$V9^gj*Z>%*|20K)08_Z}b ztZUGoO4sW@t*xQ``X{w-f*GBje}e<1tVG9Z-K6)QaO#h&tG0w8uR=eu;C74R1*k7s z_)~g|{`tZxs9wIP$ogHZa}dVWV8J$q^!pb*YQGgTZ$WaK-d&eZ59znoRf8XRvd(Gk z$Lzzr!ft?v^n%5aoCBDNvg5L@+Zc{$T%HQ&KBE6@u}bgK)9UZ0x3UVSl&YVtx4DcC zMk@uQZ2?XBE<0H$xRaEF*dVq#F1Q8@gY*M>SHpoRV^xh#QH!Hc`{4W;4O$D%Ybmu(i{jdVwFlupj|nguu%PdSNCG2_Qt%i?F_=9R@bH0x z0|S=~1(5!Zi42**8`lCSR0CH5)yj=(gHV;%Q%xlGTk2xuf^Gzd)x!Ph;>IN_l}1Cq zm$Wx3Fgg$%S0bFUf)nG6!B8|1(G*A$1((R!|F|I>C&e+QP+$ivJNMrJxBGgw1$fip zh#H6}Cvg!M{R}E!Kv5-NTQr$_)>NRW)Q{3btw+&uv9$siXg1tz9e1+=Ypsu;vW~}4 zJQM>rZft5OBap2?(ojy{aG5csP()~Q!ZffuW8Hs#%}OB z3U+B&2~LHtnHuzK+)}pg@I|_#?7sJ{sXSCWHQzkAtxxr7ff5`oZh|;knMhpu@pp?S z6*4Dyaded2%oLoz@-UL0AbA7{8l{4EWGM50B0{C&Yh>sIALV11hwJ249!Gcz$&*O< zOr9Ba`?FB>A4h%n0I&+8MYO_aj{VpmWrlPd|1okQPcLnIG+%iNo8t~)%#wH{uspC6 z0}N#!8od?gGfU9h+aF2AaDcnXX}O*_tc)rEF?Po4?7{~S@)l9sCN-;!t$l+PJFF4( z2UlN{i|jnC@p>URL>>2fC;MmXX<(`o*uTAHa_dj8Ezf!mo5zuGl~V&fhKj|8a%N4@ zgl)%)OVA{+x9jW~dRIq{gU^<;ay{lVw^lf_vs1Zd4?DKjlx&7TAVL3O zXMujUbGMxfCxDi<*CEhLFZj3s#;;B~|AZFrcLf4!pN zMY#>|!CtZU8&LZP!}0!ebjuEGle52q=v5@~NVwIGxBW-V!;vXxk)RBW)!@Ax$Gj6r z-bBJj%X@wslkXsTmkSK_>!gwj<|NQR%n zPL=mZwaJYFfKA#sM_Ks^%1T}O`pw695I8<&{oor@^vuR;?jrsuu!YC18Tvr5Go6o} z_sQ3K%)2P>u>Lo}wL%>pE54yG*s|W>p2Wyi;X@E0PS@I}#OY4G1T5Raa-A-)^p z7eSMXAb?B7Yaoc~pjaRSD&Lj(0lcAW4Ia)R;tRq}(jesVJEbjV60U)O&nU6RE|riA zFlWkxgZU5~(t(4Y$>EX-irrA1_BZjb1GhdAnfM9SKq|(BIJp*O0nP-cRo)WV!9B{3 z!7?Kwuqhb)3jXo?m?*ACQPgIf-|HYT>HHoFM|%0i3%a97z^C>ELxHFQQZVA^$R>!S zl`^cj3`r9Z9+&dy5s%>^Jg-7GF0!&O!u|Bhz8!q4T>(wuv3(F%xYZYl2I|A1Xt*b^ zBHaBEE>tq)6PiJDV3)O0H!Y%Rf{pT)z20755Do!R7qHaVtXJk#SFVS8>)V6ffk=5z zxZ8u34Z??a6(p6rk?aJ*w|H$c&PYi0#&GU&IlDA9}h#$RAdNq3-DPZQ3SpWwo~_z<%|G{gnGgD9ml$ z31`Vr?o=qds2d%m(y zKe|jxo5+u2IeL?{dvYF|N~K;I)p&ercT?%!Z}4ppq&vTn`6P{Zu}YJaz5lu0aqz{D zJhxlStgqNR^x>S#zb-sH40?!P3bbDz?(GeSrZ=ivK_O8a`*!+=|5vts@8$lbBd({! z2Pk!oJo;;~hO$qe7H4KvRIRPaE%Nk6yGx=rvB(40Wf5OVG+F~~*;xH=#OYKV+5Q{x zMiX_9{PVY>K+_y>6PG}=M06>8DZ$W}Tfd!UJTEo~9tXSbdGQx64VSH>PHAawY4X;! zc^egFrNSyti_g(HBVU{r3yqd!^jVWyl348-v4!1vMm(8a46X1@zA+LBN9tj-Qj#D` znTo_SviYo-EYOOP>s}Cb>Z-;}^g{d&*4SGs*jMk`rm#<55*Lo_dP!U+%$*GkJlsPU zvD6n*d*Ea_4{LD)|f`^`yF!;XCc9c6gyj$BW1HQ=f&+6y#Gwd zxeu_%Z4iq>ItSb=B}l5!-|*~lwmWn~HC zB}l4(@b>$+1>tI^0rQ%WG$Y}juoV!i{LGw%)2?BCuZjb5RQr6+rOV0xbq+kl4_S^>BbtOAgVKmjlXK^uTH1nmIQ5v&G~ zK?VV>0hEbZ9RRWrtObybU>$%Q1f2kK5nKZx55al>`3SI90fH_7g$S+%P=vq>pcugh z08`|(g z1m+WU3%~L)!yOP>?N->cdsyr1Vk1pphhG;TsCw%Z-XL89LXikaOi0W~EJ#EoRwNE2 zUw$>x`i6K!n2wuaa|kYMf@*GbXGrr6Oy2|>xKE2_KuJqj%Z+a9>x28x054~W7sPCu z!^$s+ZW2UU)j(Yb2WQD5Zg-8=QaW#_deW@G&I!5QVu8^cTntiABY*E9rEfHuTE+E{av`$*nf`{!14{_-rGWF511B^In4Y%fiYR zJKh2ZfgjrZXuL4$i)*j=pn0qQasF)PeM+>jXG~J>AXro|5nu5TI55QPOd{M8DG}gd z4_4d`KpF+yHZg}=Ng@Dl90<5^AmGMaUcNW=yXEJn2Il#>iDZDT-v6Q zPIy60CtyjbaCZyup`E~$Njj$xcn94FFP>>cD-}vzOs!fXoLoCxGMarV+{>w`n8e1D%8X8;b*LmC8>y&m+d0EMX zJSZzK9l6aS-C?FaHq|B_p&Fw;lXK*ZO=_g2JD`!+U11?yng| z9euh226)NEYt~{OEvvu{34^;Io;xx09((9&4OL;AgBX@isAK;2Iv~!kwF2YlfLIsu zK+>^GUMK9?aEHYse3*eZo`l*7?dBKCkQivfJvO`$T7v1>;`x|hWHz>5mh!5Mv~geB z-#}?ctRmbY#}Rm##Y*wm8#XQRq|8pr(qeEcpUKj^I1>ohr>d+xL8_!ywjn{99*5Ri z*VDuHCrA}Fdr|thlM(8og)|;6;;dBUN31LwhgV(j6DP>jG65wCPU;-_a{|OsbeP@h zkcR2QBMXwGdPCrHynQt4NV*?Yv|v7ONNl zvoGzE!-8?tEOsmfRA<`A2Psn2Oqa8DY0?ng!rn}imZk@RLBsL);laU+cXh^TbPHRU z4l{g%^`}cUbQOCjUAmh#uw@xiOH!jDT=;7RV?AfF;~7$3g61SaFfD${8WPwu8B)Pu zJYR4y8x$;5fMpa(9vsQ~Zvl zo8M2G`HL-Ng6SGByVwyZ?G(S#h>>%=&l8jW)2;*;0YYMcwSL*-}*+?|nU#@bgzVI(iJdjn(Ezn^O2i zq(9u-2caT=>1GIXWOWRpihFop?72FEJQ|LCo#@@-2Q&@k7oG#3G zmmSQI=LieGV9#dAiv>|<_Ds1t{s-qN93J~3?CoM;?aBn!pMS)5X3914dAKt+PMdJ> zVzf|pvF3e3BCbm8-|6qNOPTU4;l&@Ysaf)ZxToiX4h5r(7C>8jvY@RS*RZ>?q4g9u01FtCX zhSUe=T6PMCRyp}}IXWLW(eIDD;#u>aT)AABcZi+Mm89~BB+nJj-@slg0!4V@ zm&{!Zt^e)}Yb}QK!$JbyGow g2;LC+eg4gOYWKG;x8Uv$ry4kgfM{1w!;8=V2ZEnUB>(^b delta 7055 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 delta 3503 zcmZve4NzRw6@brq`@;p6u!JT2!)^$$gzytW2qD;ngg`I~2}v|rjbyX;0WX1FvipL; zlF&+OtWI_G)!x)P8fzSN{Hw#Xt8HhjQ>UG&)>zx=jM_R*XVmeJpZpMY9H-|zWK3pc zx#xZF-22YG@1A?kd2h^?ef(+QH(wsec<#i_%~SvUf^v|ha1tO?VJk^b|9&{>fKVmq`CtSg6uhDfL9YTCfRio=tpvRgjFk|o2D#ie zvI=CG4K*NF*iZ|y+=e=k6(D$~deB!}-pChLs%$9U+u|<|4krex5@~+=D-Y_&%y_se zk!YoTwD!t6C#$FKl&3Z9umS_;u+N$sD8hoNC4(Af_yEl%Ak$$SV41ag$Y<3Un~D#1|Yk0RDt zM`BOoYgX~dM>%V`SFmVgk;|e^y*cU5vyLCyU=1Dd;0M;&kr!}U`Kz6|)`LepR(E_H z&s(p>XVy2-a5J4m2ffg?a8wTI@!l4;v4Mqcmp82U8Wy(kjZAgcg~SMcWl3|Dw}BPS zEQ(n)S!c{&7TC)wqI=UtV&|T&t-E{cxx3vmj+U3&)@^gP;X3ZI4c9Q$TF)L`y(Y-G zl|>ngH6(0fM~)i0*}H{x9W1u7=wi`hc}9ou25W4zV(QV+|9z3XyHJ}ys79xSFR5a9 zP-JtQ?f$Flp7KocBei@0b#7V|6i%JbNV_WJoMdnlwS+g>b__S*#2|oEHiD)Dv^wQl z0%T|+&=}ScI2f7}9gRK%*C1jP)!1SJf+2uc}t6ZjeS5Cj-*AXv`8Pn9v;NU(xoFF`rOK7tB{ z5J4rwO$0%Pn+a;5^?+0EC#quAEd(nW`Ut8S4iKzj2otP<)=(qJgP^a4e#$x#&J&XW z`$A2iuLCLJkOna)pdErbgeu7( zSln+!sWW-+1YW?^r>Hlfk#M8Q0oT_z95$kTeceG0D#}6>on6;$?d$H@-Ph5xr@K9Q z=Erm(lhe23dzyOpC)l1rCmF8q>g;XX-PO~res~8yhOevAQ+Pn#eG11a_wJ1}$8Y=j z%kNYA;^w(xmfDfA2p|4^hhDSV8nZEtE6kn=gu^Ld2nY#~l#x?Gx`7UAZYT|83WU<_ z>fiw>>|&9zc$;d&5}4E=l)0!(yF%$*R4!Op7@5VHk$e*LD`= zPYO397wG(wCnh|wN%p4k!`8H*bOgQhNG(xBo-slB_d82f(Zkp{ zL5oe{GAn6Mvgt(~CVX3Cr2{0bnDkUpHI4OoTsB!>U_WJVrb#cN*~1EHn3IQ5b*0j} zFpR1zl~yw1Uo;*7s)CC~x_QsZC2WNrpmAl3R#w<^kcR%tX^*r40msRD1sq2(oggbY zfyyA5Zje=6isVYAKZ1d*ETEG&35etL5kYTPpwuH+IZetBm^~w4(n1RU;AI0P7-A*1`H~}}+B*tsvYVRQ7v zf;no*S$w6kx1AKdsU%E}yI6uY2Vf*@4%z{j7#T85`dm=w&Z1Fx3w6CjEx~0Gv=Ve9 zw>)aWVjS^`cpU3s2B{{%0r+n{d==xrlmP=g@HZ|_nPCVw<^MGe!Sbab2E%WJhuCd~%W zzIF4S&c5~bJMGfV>-155XrZpJ=W+HXR5EQQL2CindMu)km=rldeiuqT>OW6l7NwEt zCos6~Q_|U44$y&Vn2Fh#r+GCm`m_S{q6<^Cs}fi+j~?jVtHMuWyZY^uxZ1sg6+P;+ zC$Yh6&ulNmUiEcd&#JN3W`jhZ9*zzJvYt>oVf*LZc({Mhx#UX6v8%tj)#=a0E__>k_PJPx5w&7kG~=k+KP~dr)3c()aUzE5^;uECpA#i5=35A1 zIwXe433SJH)O^5|0pNQ+F>L*U_~ae+#8`CsU|9BO%RbW_O4fT@HOzh`Vn7+rhZRXv8>JoaeXAN z8ZXis>f4pPNWC*r_3%XzP+wmZCE7DFRdh+@sRI{;Qysq~3LM)nxYUD}#2W4XQg!Z< zSnJrZ(yj0rcaAEV6CM?uCvW`fJ+}%UNb#xt^J1m82GvjJ$?$BA`t!V4uRR}9-^`1R zTK_?{@v>-foVq(jjbEmH-12;idikvBWVLiIwPZt*f OsG%RnSl?kT%>M`GL@(z6 diff --git a/BaseTools/Bin/Win32/build.exe b/BaseTools/Bin/Win32/build.exe index a63d9b2926e70cf5c4f899714b0e24c3bc156abc..b87d444262772123c1c0c81b5f163655c2239e0c 100755 GIT binary patch delta 26580 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 diff --git a/BaseTools/Conf/build_rule.template b/BaseTools/Conf/build_rule.template index c6cde8f2e5..385f020270 100644 --- a/BaseTools/Conf/build_rule.template +++ b/BaseTools/Conf/build_rule.template @@ -1,5 +1,5 @@ # -# Copyright (c) 2007, Intel Corporation +# Copyright (c) 2007-2008, Intel Corporation # # All rights reserved. This program and the accompanying materials # are licensed and made available under the terms and conditions of the BSD License @@ -17,17 +17,25 @@ # "*" is used to indicate that the source files will be processed at the same time. # "?" is used to indicate that the source files will be processed one by one. # -# "[" Build.[.][, Build.[.]] "]" +# "[" [.][.][, [.][.]] "]" # ]> -# [File-Type =] (?|*). [(\n|,|;) (?|*).] +# (?|*). [(\n|,) (?|*).] # # ]> # # +# +# +# # ]> # # [] # +# is the MODULE_TYPE in EDK2 or COMPONENT_TYPE in EDK. +# Missing will cause an exception and break build. +# Missing will cause that related build target won't be generated but +# won't break build. +# ## Placeholders for string substitution # @@ -89,7 +97,7 @@ # Unicode-Text-File # -[Build.C-Code-File] +[C-Code-File] ?.c ?.C @@ -98,6 +106,8 @@ ?.cpp ?.Cpp ?.CPP + + $(MAKE_FILE) @@ -109,24 +119,23 @@ "$(CC)" -o ${dst} $(CC_FLAGS) $(INC) ${src} -[Build.C-Header-File] +[C-Header-File] *.h, *.H - $(OUTPUT_DIR)(+)$(MODULE_NAME).gch - $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj -[Build.Assembly-Code-File] +[Assembly-Code-File.COMMON.COMMON] - Assembly-Code-File = ?.asm, ?.Asm, ?.ASM - $(MAKE_FILE) + ?.asm, ?.Asm, ?.ASM ?.S + + $(MAKE_FILE) @@ -142,9 +151,11 @@ Trim --source-code -o ${d_path}(+)${s_base}.iii ${d_path}(+)${s_base}.i "$(ASM)" -o ${dst} $(ASM_FLAGS) $(INC) ${d_path}(+)${s_base}.iii -[Build.Iasm-Code-File] +[Assembly-Code-File.COMMON.IPF] ?.s + + $(MAKE_FILE) @@ -155,11 +166,13 @@ Trim --source-code -o ${d_path}(+)${s_base}.iii ${d_path}(+)${s_base}.i "$(ASM)" -o ${dst} $(ASM_FLAGS) ${d_path}(+)${s_base}.iii -[Build.Visual-Form-Representation-File] +[Visual-Form-Representation-File] ?.vfr ?.Vfr ?.VFR + + $(MAKE_FILE) @@ -171,7 +184,7 @@ -mkdir ${d_path} > NUL 2>&1 "$(VFR)" $(VFR_FLAGS) --output-directory ${d_path} $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iii -[Build.Object-File] +[Object-File] *.obj *.o @@ -185,30 +198,11 @@ "$(SLINK)" -cr ${dst} $(SLINK_FLAGS) ${src} -#[Build.Object-File, Build.Static-Library-File] -#BUILD_VERSION = 0x00010000 -# -# -# Object-File = *.obj -# Static-Library-File = *.lib, *.a -# -# -# $(OUTPUT_DIR)(+)$(MODULE_NAME).lib -# -# -# "$(SLINK)" /OUT:${dst} $(SLINK_FLAGS) ${src} -# -# -# "$(SLINK)" -cr ${dst} $(SLINK_FLAGS) ${src1} -( ${src2} -) -# -[Build.Static-Library-File] - +[Static-Library-File] + ?.lib - $(LIBS) - $(MAKE_FILE) - - ?.lib + $(LIBS) $(MAKE_FILE) @@ -221,7 +215,7 @@ "$(DLINK)" -o ${dst} $(DLINK_FLAGS) -\( $(DLINK_SPATH) $(LIBS) ${src} -\) $(DLINK2_FLAGS) -[Build.Dynamic-Library-File] +[Dynamic-Library-File] ?.dll @@ -234,7 +228,7 @@ $(CP) ${dst} $(BIN_DIR) -$(CP) $(DEBUG_DIR)(+)*.map $(OUTPUT_DIR) -[Build.Dependency-Expression-File] +[Dependency-Expression-File] ?.dxs, ?.Dxs, ?.DXS @@ -246,33 +240,42 @@ Trim --source-code -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iii $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.i GenDepex -t $(MODULE_TYPE) -o ${dst} $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iii -[Build.Acpi-Source-Language-File] +[Acpi-Source-Language-File] ?.asl, ?.Asl, ?.ASL $(OUTPUT_DIR)(+)${s_base}.aml + + $(MAKE_FILE) + "$(PP)" $(APP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i "$(ASL)" -p ${dst} $(ASL_FLAGS) ${d_path}(+)${s_base}.i -[Build.Acpi-Table-Code-File] +[Acpi-Table-Code-File] ?.aslc $(OUTPUT_DIR)(+)${s_base}.acpi + + $(MAKE_FILE) + "$(CC)" /Fo$(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj $(CC_FLAGS) $(INC) ${src} "$(DLINK)" /OUT:$(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $(SLINK_FLAGS) $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj GenFw -o ${dst} -c $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll -[Build.Masm16-Code-File] +[Masm16-Code-File] ?.asm16, ?.Asm16, ?.ASM16 + + $(MAKE_FILE) + $(OUTPUT_DIR)(+)${s_base}.com @@ -281,7 +284,7 @@ "$(ASM)" /nologo /c /omf /Fo$(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj ${src} "$(ASMLINK)" $(ASMLINK_FLAGS) $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj,${dst},,,, -[Build.Microcode-File] +[Microcode-File] ?.txt, ?.TXT, ?.Txt @@ -291,7 +294,7 @@ GenFw -o ${dst} -m ${src} -[Build.Microcode-Binary-File] +[Microcode-Binary-File] *.mcb @@ -302,7 +305,7 @@ GenFw -o ${dst} -j ${src} -$(CP) ${dst} $(BIN_DIR) -[Build.Unicode-Text-File] +[Unicode-Text-File] *.uni, *.Uni, *.UNI @@ -312,3 +315,11 @@ +[EFI-Image-File] + + ?.efi, ?.Efi, ?.EFI + + + + + diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template index 51e599f5e8..8b52138a5f 100644 --- a/BaseTools/Conf/tools_def.template +++ b/BaseTools/Conf/tools_def.template @@ -151,7 +151,7 @@ DEFINE ASL_BIN = C:\ASL *_VS2003_IA32_PP_FLAGS = /nologo /E /TC /FIAutoGen.h *_VS2003_IA32_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FIAutoGen.h DEBUG_VS2003_IA32_CC_FLAGS = /nologo /c /WX /W4 /Gs8192 /Gy /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /GX- /Zi /Gm -RELEASE_VS2003_IA32_CC_FLAGS = /nologo /c /WX /W4 /Gs8192 /Gy /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /GX- +RELEASE_VS2003_IA32_CC_FLAGS = /nologo /c /WX /W4 /Gs8192 /Gy /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /GX- DEBUG_VS2003_IA32_PCH_FLAGS = /nologo /c /WX /W4 /Gs8192 /Gy /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /GX- /Fp$(DEST_DIR_OUTPUT)/AutoGen.h.gch /Yc /TC /Zi /Gm RELEASE_VS2003_IA32_PCH_FLAGS = /nologo /c /WX /W4 /Gs8192 /Gy /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /GX- /Fp$(DEST_DIR_OUTPUT)/AutoGen.h.gch /Yc /TC DEBUG_VS2003_IA32_ASM_FLAGS = /nologo /c /WX /W3 /coff /Cx /Zd /Zi @@ -195,9 +195,9 @@ RELEASE_VS2003_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /O DEBUG_VS2005PRO_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs8192 /Gy /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm RELEASE_VS2005PRO_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs8192 /Gy /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF - DEBUG_VS2005PRO_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi + DEBUG_VS2005PRO_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi RELEASE_VS2005PRO_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd - DEBUG_VS2005PRO_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG + DEBUG_VS2005PRO_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG RELEASE_VS2005PRO_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text *_VS2005PRO_IA32_ASMLINK_FLAGS = /nologo /tiny @@ -215,7 +215,7 @@ RELEASE_VS2005PRO_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /O *_VS2005PRO_X64_DLINK_PATH = DEF(VS2005PRO_BINX64)\link.exe *_VS2005PRO_X64_ASMLINK_PATH = DEF(VS2005PRO_BINX64)\link.exe - DEBUG_VS2005PRO_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs8192 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm + DEBUG_VS2005PRO_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs8192 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm RELEASE_VS2005PRO_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs8192 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF DEBUG_VS2005PRO_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi RELEASE_VS2005PRO_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd @@ -256,9 +256,9 @@ RELEASE_VS2005PRO_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /O *_VS2005TEAMSUITE_IA32_MAKE_FLAGS = /nologo DEBUG_VS2005TEAMSUITE_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs8192 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm RELEASE_VS2005TEAMSUITE_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs8192 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF - DEBUG_VS2005TEAMSUITE_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi + DEBUG_VS2005TEAMSUITE_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi RELEASE_VS2005TEAMSUITE_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd - DEBUG_VS2005TEAMSUITE_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG + DEBUG_VS2005TEAMSUITE_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG RELEASE_VS2005TEAMSUITE_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text *_VS2005TEAMSUITE_IA32_ASMLINK_FLAGS= /nologo /tiny @@ -275,7 +275,7 @@ RELEASE_VS2005TEAMSUITE_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /O *_VS2005TEAMSUITE_X64_SLINK_PATH = DEF(VS2005TEAMSUITE_BINX64)\lib.exe *_VS2005TEAMSUITE_X64_DLINK_PATH = DEF(VS2005TEAMSUITE_BINX64)\link.exe - DEBUG_VS2005TEAMSUITE_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs8192 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm + DEBUG_VS2005TEAMSUITE_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs8192 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm RELEASE_VS2005TEAMSUITE_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs8192 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF DEBUG_VS2005TEAMSUITE_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi RELEASE_VS2005TEAMSUITE_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd @@ -459,6 +459,7 @@ RELEASE_WINDDK3790x1830_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT *_CYGWINGCC_*_DLINK_FLAGS = -nostdlib -O2 --gc-sections --dll --export-all-symbols --entry _$(IMAGE_ENTRY_POINT) --file-alignment 0x20 --section-alignment 0x20 *_CYGWINGCC_*_ASM_FLAGS = -c -x assembler -imacros AutoGen.h *_CYGWINGCC_*_PP_FLAGS = -E -x assembler-with-cpp -include AutoGen.h +*_CYGWINGCC_*_APP_FLAGS = -E -x assembler *_CYGWINGCC_*_VFRPP_FLAGS = -x c -E -P -DVFRCOMPILE --include AutoGen.h ################## @@ -469,6 +470,7 @@ RELEASE_WINDDK3790x1830_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT *_CYGWINGCC_IA32_DLINK_PATH = DEF(CYGWIN_BIN32)/ld *_CYGWINGCC_IA32_ASM_PATH = DEF(CYGWIN_BIN32)/gcc *_CYGWINGCC_IA32_PP_PATH = DEF(CYGWIN_BIN32)/gcc +*_CYGWINGCC_IA32_APP_PATH = DEF(CYGWIN_BIN32)/gcc *_CYGWINGCC_IA32_VFRPP_PATH = DEF(CYGWIN_BIN32)/gcc *_CYGWINGCC_IA32_CC_FLAGS = -Os -fshort-wchar -fno-strict-aliasing -Wall -Werror -c -include AutoGen.h @@ -481,6 +483,7 @@ RELEASE_WINDDK3790x1830_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT *_CYGWINGCC_X64_DLINK_PATH = DEF(CYGWIN_BINX64)/ld *_CYGWINGCC_X64_ASM_PATH = DEF(CYGWIN_BINX64)/gcc *_CYGWINGCC_X64_PP_PATH = DEF(CYGWIN_BINX64)/gcc +*_CYGWINGCC_X64_APP_PATH = DEF(CYGWIN_BINX64)/gcc *_CYGWINGCC_X64_VFRPP_PATH = DEF(CYGWIN_BINX64)/gcc *_CYGWINGCC_X64_CC_FLAGS = -Os -fshort-wchar -fno-strict-aliasing -mno-red-zone -Wall -Werror -c -include AutoGen.h -D_EFI_P64 @@ -664,7 +667,7 @@ RELEASE_ICC_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT *_MYTOOLS_*_ASL_PATH = DEF(ASL_BIN)\iasl.exe -*_MYTOOLS_*_ASL_FLAGS = +*_MYTOOLS_*_ASL_FLAGS = *_MYTOOLS_*_MAKE_FLAGS = /nologo *_MYTOOLS_*_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FIAutoGen.h *_MYTOOLS_*_APP_FLAGS = /nologo /E /TC @@ -692,7 +695,7 @@ RELEASE_MYTOOLS_*_ASM16_FLAGS = /nologo /c /WX /W3 /coff /Cx /Zd *_MYTOOLS_IA32_APP_PATH = DEF(VS2005TEAMSUITE_BIN)\cl.exe *_MYTOOLS_IA32_ASM_PATH = DEF(VS2005TEAMSUITE_BIN)\ml.exe - DEBUG_MYTOOLS_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs8192 /Gy /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm + DEBUG_MYTOOLS_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs8192 /Gy /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm RELEASE_MYTOOLS_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs8192 /Gy /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF DEBUG_MYTOOLS_IA32_ASM_FLAGS = /nologo /c /WX /W3 /coff /Cx /Zd /Zi RELEASE_MYTOOLS_IA32_ASM_FLAGS = /nologo /c /WX /W3 /coff /Cx /Zd @@ -714,7 +717,7 @@ RELEASE_MYTOOLS_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /O *_MYTOOLS_X64_APP_PATH = DEF(VS2005TEAMSUITE_BINX64)\cl.exe *_MYTOOLS_X64_ASM_PATH = DEF(VS2005TEAMSUITE_BINX64)\ml64.exe - DEBUG_MYTOOLS_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs8192 /Gy /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm + DEBUG_MYTOOLS_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs8192 /Gy /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm RELEASE_MYTOOLS_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs8192 /Gy /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF DEBUG_MYTOOLS_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi RELEASE_MYTOOLS_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd @@ -737,7 +740,7 @@ RELEASE_MYTOOLS_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /O *_MYTOOLS_IPF_ASM_OUTPUT = "-o " DEBUG_MYTOOLS_IPF_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gy /Ox /GL /FIAutoGen.h /EHs-c- /GR- /GF /Zx /QIPF_fr32 /Zi -RELEASE_MYTOOLS_IPF_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gy /Ox /GL /FIAutoGen.h /EHs-c- /GR- /GF /Zx /QIPF_fr32 +RELEASE_MYTOOLS_IPF_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gy /Ox /GL /FIAutoGen.h /EHs-c- /GR- /GF /Zx /QIPF_fr32 DEBUG_MYTOOLS_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W4 -d debug RELEASE_MYTOOLS_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W4 DEBUG_MYTOOLS_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF /OPT:ICF=10 /IGNORE:4086 /MAP /ALIGN:32 /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG