home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!stanford.edu!ames!olivea!apple!applelink.apple.com
- From: GER.XSE0201@AppleLink.Apple.COM (Frank Becker Computertechnik,DE,IDV)
- Newsgroups: comp.sys.mac.oop.macapp3
- Subject: Re: MABuild -UserAutoBuild
- Message-ID: <727900779.1212031@AppleLink.Apple.COM>
- Date: 24 Jan 93 18:34:00 GMT
- Sender: daemon@Apple.COM
- Organization: AppleLink Gateway
- Lines: 119
-
- Hi Andrew,
-
- Here're some answers from a previous link I wrote last year to this topic:
-
- -------------------------------------------------------------------------------
-
- Paul,
- I did this by put some files in a separate folder and put all this stuff in a
- library (in my example I build a library called DBApplication).
-
- Now you must set MAUserAutobuild when starting MacApp
-
- (In my case:
-
- SET MAUserAutoBuild "{DBLibraries}DBApplication.Lib,{OWNLibraries}Ownlib.Lib"
- EXPORT {MAUserAutoBuild}
-
- )
-
- and add a line for the dependencies in your Application.MAMake
-
- (
- OtherLinkFiles = x
- "{DBLibraries}{SeparateObjectsFolder}DBApplication.lib" x
- )
-
- with the MaMake option -nouserautobuild you only build your application and not
- the Library. The option -userautobuild is the default.
-
-
- Hope this helps
-
- Frank Becker
- -------------------------------------------------------------------------------
- Tsui,
-
- Question:
-
- >How does the Application.MAMake know to rebuild the lib when the
- -userautobuild option is used?
-
- Answer:
- The -userautobuild option build all things that are defined in the
- MAUserAutoBuild variable
-
- this example check first if the Ownlib is OK and then if DBApplication.lib
- (Ownlib is used in DBApplication)
-
- I defined the MAUserAutoBuild variable in my 'StartupoFrank'.
-
- SET MAUserAutoBuild "{DBLibraries}DBApplication.Lib,{OWNLibraries}Ownlib.Lib"
- EXPORT {MAUserAutoBuild}
-
- Every MABuild look if there is something to rebuild in the things which are
- defined in the MAUserAutobuild because -userautobuild is the default. If you
- are sure, that nothing was changed in your library's use the -nouserautobuild
- option.
-
- In your Application.MAMake file you must add your library to the dependency of
- the OtherLinkFiles.
-
- example:
- OtherLinkFiles = x
- "{DBLibraries}{SeparateObjectsFolder}DBApplication.lib" x
-
- The variable DBLibraries is the path to the directory which include all sources
- for the library and the DBApplication.lib.MAMake file.
-
-
- I hope this helps, but if you have more questions feel free to ask me again.
-
- best regards
- -------------------------------------------------------------------------------
- Hi Tsui,
-
- >1) How does the Application.MAMake knows that Ownlib is "OK"?
-
- The Application.MAMake do not know if Ownlib is "OK" or not. MABuild does this
- for you. It work like the -autobuild option. This means call Make to check if
- everything is OK. (Look at the code of file MABuildTool.p line 1707 - 1724;
- this file is located in {MacApp}Tools:)
-
- >2) How does Application.MAMAke knows what source files compose Ownlib?
- >Similarly DAApplication.lib.
-
- You must build a Ownlib.MAMake file which include this information.
-
- >3) Do you some how force the Application.MAMAke to check Ownlib.lib.MAMake and
- >DBApplication.lib.MAMake when the -userautobuild option is included in the
- >MABuild for the Application?
-
- No, a OtherApplication.MAMake check also the Ownlib and DBApplication.lib when
- you set the MAUserAutoBuild variable. Look at my answer for 1)
-
-
- >I already understand that you have to add the dependency for
- >DBApplication.lib,
- >but MABuild's default Dependency Rules does not support rebuilding of other
- >libraries other than MacApp.lib.
-
- Hope I get you right!
- You know that you have to add the line
- "{DBLibraries}{SeparateObjectsFolder}DBApplication.lib" x
- to the defination of OtherLinkFiles. This is all you need. If you want to have
- a other library then MacApp.lib to build automatically change the MAAutoBuild
- variable in the same way you did for the MAUserAutoBuild
-
- example:
- SET MAAutoBuild "{MAAutoBuild},{OWNLibraries}Ownlib.Lib"
- EXPORT {MAAutoBuild}
- build first the Ownlib and then the things defind before in the variable.
-
- I hope I now answered your question but if not feel free to ask me again.
-
- Sincerely,
-
- Frank
- -------------------------------------------------------------------------------
-
-