Article View: comp.sys.mac.oop.macapp3
Article #334Re: MABuild -UserAutoBuild
From: Frank Becker Computertechnik,DE,...
Date: Sun, 24 Jan 1993 18:34
Date: Sun, 24 Jan 1993 18:34
119 lines
4385 bytes
4385 bytes
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
-------------------------------------------------------------------------------
Technical Details
Message-ID:
<727900779.1212031@AppleLink.Apple.COM>Path:
arc1-ca.pugleaf.net!sparky!uunet!stanford.edu!ames!olivea!apple!applelink.apple.comShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!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