On 01/30/2013 02:06 PM, Richardson, Brian wrote:
> ... of course my "it has to be done under the workspace" comment
> assumes you haven't mastered the art of makefile modifications. Rod's
> solution obviously works (since rEFInd works) but it involves a bit
> more effort.
>
> I'm a bit lazy, so I don't mess with the makefiles. :)

This is rather subjective and dependent upon your own needs. Personally, 
I'm most familiar with Unix-style development with make. Also, I wanted 
rEFInd to be compilable in a way that would facilitate inclusion in 
Linux distributions, and that definitely means building it outside of 
the TianoCore directory tree. In practice, the path of least resistance 
for Linux distributions will be to use GNU-EFI, but that means 
sacrificing one feature. IMHO, it's notable that every EFI project with 
close ties to Linux builds with GNU-EFI rather than with TianoCore; 
AFAIK, only rEFInd offers a TianoCore build option. When I first started 
with this, it took me a while to get used to the TianoCore build model, 
so there was a pretty big learning curve there, and I wouldn't even say 
I've mastered it at this point.

That said, I agree that if you're used to the TianoCore style (which I 
ASSUME comes from a Microsoft/Windows model), building in-tree is the 
quickest way to get started. Likewise, if you want to wrap something up 
in a firmware, I imagine that building in-tree makes the most sense.

Would documentation on a make-style approach be a welcome addition to 
the project? If so, I could probably write something up that would help 
people get started on that way of building with TianoCore.

> -----Original Message----- From: Rod Smith
> [mailto:rodsm...@rodsbooks.com] Sent: Wednesday, January 30, 2013
> 1:49 PM To: edk2-devel@lists.sourceforge.net Subject: Re: [edk2] UEFI
> Compilation dorectory
>
> On 01/30/2013 06:23 AM, Rafael Machado wrote:
>> Hi everyone I have a doubt about how to compile an uefi application
>> in a directory that is not at the same directory as UDK. I have an
>> application that is in a directory located inside the UDK
>> directory, for example c:/UDK2010/MyApplication , and it's
>> compiled correctly Now I want to compile it in a different
>> directory and it's not compiling correctly.
>
> I'm not very familiar with Windows development tools or conventions,
> so this may not be very helpful, but....
>
> My own rEFInd project (http://www.rodsbooks.com/refind/) compiles
> under Linux using either GNU-EFI or TianoCore, and it compiles
> outside of the TianoCore directory tree. I do this via Makefiles in
> which I set various environment variables so that #include directives
> in C source files can find headers in the TianoCore tree, so that the
> ld command links against libraries in the TianoCore tree, etc.
> Essentially, I treat the TianoCore tree as if it were a Linux
> development library, albeit one laid out in a strange way by Linux
> standards. You can look at my Makefiles (and particularly the
> Make.tiano file in the root of the project) to see how I did it.
> Maybe that will give you some ideas of how to do it in your own
> environment.
>
> Another comment: The way I constructed these Makefiles was to examine
> the build commands that building WITHIN the TianoCore tree produced.
> I then built Makefiles that would reproduce those individual build
> commands. If the rEFInd Makefiles are too divergent from your own
> build environment's needs, then perhaps my method of generating the
> Makefiles will be useful....
>
> -- Rod Smith rodsm...@rodsbooks.com http://www.rodsbooks.com
>
> ------------------------------------------------------------------------------
>
>
Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics Download AppDynamics Lite
> for free today: http://p.sf.net/sfu/appdyn_d2d_jan
> _______________________________________________ edk2-devel mailing
> list edk2-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/edk2-devel
>
> ------------------------------------------------------------------------------
>
>
Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics Download AppDynamics Lite
> for free today: http://p.sf.net/sfu/appdyn_d2d_jan
> _______________________________________________ edk2-devel mailing
> list edk2-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/edk2-devel
>


-- 
Rod Smith
rodsm...@rodsbooks.com
http://www.rodsbooks.com

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_jan
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to