]> code.citadel.org Git - citadel.git/blob - citadel/techdoc/build.txt
0a311d9a5531988f1695a8995af065b2fc02d21f
[citadel.git] / citadel / techdoc / build.txt
1 Some notes on the build process...
2   
3  Oct 28 01:57 1998 from LoanShark @uncnsrd 
4
5   autodependency generation is implemented by generating a bunch of .d  
6 files (with another suffix rule) using $(CC) - M and "-include"-ing them 
7 from the main Makefile. the .d files are made to depend on the .c files 
8 they correspond to, and the referenced header files, so they're updated as 
9 needed. the only version of make that I know for sure works with this is 
10 GNU make, but the Makefile should still work on other versions of Unix 
11 make, just without the autodependency stuff. 
12
13
14  Oct 28 20:49 1998 from LoanShark @uncnsrd 
15 one thing I forgot to mention about the autodependency generation: for a 
16 file to be included in the autodepend process, it must be listed in the 
17 SOURCES macro near the top of Makefile.in. 
18   also, I've added an 'install' target to the makefile. this will make it  
19 possible to build RPM's, and bring the installation process closer to that 
20 of other packages, which if you're using the new configure script goes 
21 like this: 
22   ./configure [--enable-ansi-color] [--disable-auto-login] [--prefix=/foo] 
23  
24   
25   --prefix specifies the location the BBS will run from,  
26 /usr/local/citadel by default. 
27   to build a highly optimized version without debugging symbols, you could 
28  do something like this (with the bourne shell): 
29   CC=egcs CFLAGS='-O6 -fomit-frame-pointer' ./configure   
30   after configuring, simply type `make', then su to a user who has  
31 appropriate permissions, and `make install'. then run setup as usual. 
32   are there any other areas that need to be cleared up? 
33