Angband.oook.cz
Angband.oook.cz
AboutVariantsLadderForumCompetitionComicScreenshotsFunniesLinks

Go Back   Angband Forums > Angband > Development

Reply
 
Thread Tools Display Modes
Old June 16, 2011, 10:45   #1
CJNyfalt
Swordsman
 
Join Date: May 2007
Posts: 289
CJNyfalt is on a distinguished road
Mk build system?

I am looking to learn how the mk build system used by vanilla and FA works. Can anyone point me in the right direction?
CJNyfalt is offline   Reply With Quote
Old June 16, 2011, 10:57   #2
Nick
Vanilla maintainer
 
Nick's Avatar
 
Join Date: Apr 2007
Location: Canberra, Australia
Age: 57
Posts: 9,481
Donated: $60
Nick will become famous soon enoughNick will become famous soon enough
Copy and paste
__________________
One for the Dark Lord on his dark throne
In the Land of Mordor where the Shadows lie.
Nick is offline   Reply With Quote
Old June 16, 2011, 12:08   #3
Kiyoshi Aman
Scout
 
Kiyoshi Aman's Avatar
 
Join Date: Apr 2007
Age: 36
Posts: 27
Kiyoshi Aman is on a distinguished road
Send a message via ICQ to Kiyoshi Aman Send a message via AIM to Kiyoshi Aman Send a message via MSN to Kiyoshi Aman Send a message via Yahoo to Kiyoshi Aman
Quote:
Originally Posted by CJNyfalt View Post
I am looking to learn how the mk build system used by vanilla and FA works. Can anyone point me in the right direction?
Pretty much it's just 'look at the existing makefiles'. It's fairly simple to use, relative to most other autotools-based build systems—which is one of the reasons I ported V to it. My guess is FA uses it for the same reason.
__________________
"The Earth...is for the living. The dead have neither rights nor powers on it." -- Thomas Jefferson
"Aim above morality. Be not simply good, be good for something." -- Mark Twain
Kiyoshi Aman is offline   Reply With Quote
Old June 16, 2011, 21:32   #4
CJNyfalt
Swordsman
 
Join Date: May 2007
Posts: 289
CJNyfalt is on a distinguished road
You know I need more info than that to try it out.
- Which files are the config files that are edited?
- Where do I get the files that are used to run the build system and which ones are they?
- What do they replace compared to standard autotools?
- Where do I find documentation?
- What commands are run to set up the build system?
CJNyfalt is offline   Reply With Quote
Old June 17, 2011, 05:06   #5
zaimoni
Knight
 
zaimoni's Avatar
 
Join Date: Apr 2007
Posts: 590
zaimoni is on a distinguished road
Quote:
Originally Posted by CJNyfalt View Post
I am looking to learn how the mk build system used by vanilla and FA works. Can anyone point me in the right direction?
Sadly, the master reference for this build system was taken offline within a couple of months of V adopting it. There wasn't enough left for me to make an intelligible local mirror.

It is optimized for manual maintenance, and relies heavily on gmake extensions. Follow the include directives and all shall become clear.
__________________
Zaiband: end the "I shouldn't have survived that" experience. V3.0.6 fork on Hg.
Zaiband 3.0.10 ETA Mar. 7 2011 (Yes, schedule slipped. Latest testing indicates not enough assert() calls to allow release.)
Z.C++: pre-alpha C/C++ compiler system (usable preprocessor). Also on Hg. Z.C++ 0.0.10 ETA December 31 2011
zaimoni is offline   Reply With Quote
Old June 17, 2011, 05:12   #6
zaimoni
Knight
 
zaimoni's Avatar
 
Join Date: Apr 2007
Posts: 590
zaimoni is on a distinguished road
Quote:
Originally Posted by CJNyfalt View Post
I am looking to learn how the mk build system used by vanilla and FA works. Can anyone point me in the right direction?
Your problem is that http://www.atheme.org/ has pulled virtually all references to their Objective Make build system from the Internet. I think Angband is the last holdout on accurate documentation. (Not even the project infighting notes over this are making Google now.)
__________________
Zaiband: end the "I shouldn't have survived that" experience. V3.0.6 fork on Hg.
Zaiband 3.0.10 ETA Mar. 7 2011 (Yes, schedule slipped. Latest testing indicates not enough assert() calls to allow release.)
Z.C++: pre-alpha C/C++ compiler system (usable preprocessor). Also on Hg. Z.C++ 0.0.10 ETA December 31 2011
zaimoni is offline   Reply With Quote
Old June 17, 2011, 18:11   #7
Kiyoshi Aman
Scout
 
Kiyoshi Aman's Avatar
 
Join Date: Apr 2007
Age: 36
Posts: 27
Kiyoshi Aman is on a distinguished road
Send a message via ICQ to Kiyoshi Aman Send a message via AIM to Kiyoshi Aman Send a message via MSN to Kiyoshi Aman Send a message via Yahoo to Kiyoshi Aman
Quote:
Originally Posted by CJNyfalt View Post
You know I need more info than that to try it out.
- Which files are the config files that are edited?
configure.ac is where your standard configure script stuff goes. buildsys.mk.in and extras.mk.in is where environment variables go.

Quote:
- Where do I get the files that are used to run the build system and which ones are they?
configure.ac, Makefile, buildsys.mk.in, extras.mk.in — they are included with Angband.

Quote:
- What do they replace compared to standard autotools?
This is standard autotools; the difference lies in how everything is put together. All the automake rubbish goes into configure.ac along with autoconf's stuff; additionally, the buildsystem itself is in one place and one place only: buildsys.mk.in (which is transmogrified into buildsys.mk once ./configure is run). This means you only need to have autotools substitute three files: config.h, buildsys.mk.in, and extras.mk.in.

Quote:
- Where do I find documentation?
So far as I know, there isn't any aside from the relevant files themselves (Makefile, configure.ac, buildsys.mk.in, autoconf.mk.in).

Quote:
- What commands are run to set up the build system?
  • sh autogen.sh # only if you're working with a development snapshot which doesn't have a ./configure script already.
  • ./configure ...
  • make
  • make install

Additionally, the bare buildsystem may be obtained, with comments where appropriate, via the original author's mercurial repository.
__________________
"The Earth...is for the living. The dead have neither rights nor powers on it." -- Thomas Jefferson
"Aim above morality. Be not simply good, be good for something." -- Mark Twain
Kiyoshi Aman is offline   Reply With Quote
Old June 17, 2011, 20:53   #8
CJNyfalt
Swordsman
 
Join Date: May 2007
Posts: 289
CJNyfalt is on a distinguished road
Thanks that will help, and at least I will know enough to ask the right questions if I run into trouble.
CJNyfalt is offline   Reply With Quote
Old June 17, 2011, 22:55   #9
CJNyfalt
Swordsman
 
Join Date: May 2007
Posts: 289
CJNyfalt is on a distinguished road
I did study the files a bit, a now I wonder if it is true that the build system does not calculate dependencies at all? That was at least the impression I got.
CJNyfalt is offline   Reply With Quote
Old June 18, 2011, 09:32   #10
Kiyoshi Aman
Scout
 
Kiyoshi Aman's Avatar
 
Join Date: Apr 2007
Age: 36
Posts: 27
Kiyoshi Aman is on a distinguished road
Send a message via ICQ to Kiyoshi Aman Send a message via AIM to Kiyoshi Aman Send a message via MSN to Kiyoshi Aman Send a message via Yahoo to Kiyoshi Aman
Quote:
Originally Posted by CJNyfalt View Post
I did study the files a bit, a now I wonder if it is true that the build system does not calculate dependencies at all? That was at least the impression I got.
The version in Hg does—if Angband's doesn't, blame the devteam.
__________________
"The Earth...is for the living. The dead have neither rights nor powers on it." -- Thomas Jefferson
"Aim above morality. Be not simply good, be good for something." -- Mark Twain
Kiyoshi Aman is offline   Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
This sounds more like Morgoth's build system than Sauron's. zaimoni Idle chatter 1 May 8, 2010 05:45
Build 1626 - Small error Bad Tempered Geezer Vanilla 0 August 22, 2009 23:20
Problem with VC++ compile of latest Vanilla build PaulBlay Development 1 May 9, 2009 05:59
Bugs in angband-r1341 (nightly build) Mondkalb Vanilla 1 April 12, 2009 15:10
[ToME] Notes on a thaumaturgist build Therem Harth AAR 0 January 19, 2008 22:08


All times are GMT +1. The time now is 03:27.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2023, vBulletin Solutions Inc.