Hi Everyone, and thank you all for the answers.
Andrew
My idea was to be able to save my application in svn or git, without need
to save udk too.
So everyone would be able to have udk in any directory and the application
in another directory, for example c:/user/CompanyProjects/UEFIProject1
Rod
I'll take a look at you project and understand how do you use makefiles for
this idea. Thanks a lot.
2013/1/30 Andrew Fish <af...@apple.com>
>
> On Jan 30, 2013, at 2:43 PM, Rod Smith <rodsm...@rodsbooks.com> wrote:
>
> > 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.
>
> Is the issue the size of the edk2 packages and build tools, plus the
> dependency on Python? Or that you need to duplicate the edk2 packages and
> build tools for every module you want to build?
>
> For example if you have this edk2 code:
> https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/BaseTools/
> https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/Conf/
> https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/MdePkg/
> https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/edksetup.sh
>
> You should be able to add a .DSC file and Your driver/application as a
> peer to the above code and get it to build.
>
> You don't really need the edk2setup.sh as you can automate all the build
> steps like in this example script for the emulator:
>
> https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/EmulatorPkg/build.sh
>
>
> > 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),
>
> I never really though of it as the Microsoft Windows model, well I guess
> text files with [Sections] was probably inspired by Windows INF files?
> I think it was more inspired by modern GUI based development model. If I
> write an iPhone App with Xcode I don't manually edit makefiles, and the
> same goes for Visual Studio. So the concept of having simple config files
> stems more from that.
>
> It is possible to set up the edk2 as an external makefile project in Xcode
> or Visual Studio and just plug it in that way.
>
> > 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.
> >
>
> Contributions are always welcome. I think as long a we recommend that
> folks use the in-tree way if possible adding GNU makefile instructions
> don't hurt anything.
>
> Thanks,
>
> Andrew Fish
>
> >> -----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
>
>
>
> ------------------------------------------------------------------------------
> 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