summaryrefslogtreecommitdiffstats
path: root/Documentation/NEWPACKETHOWTO
blob: 4c1c33cb02d486ae5220c9b76b2cac714a4cdbd8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
PTXdist 
How to add a new packet to the building tree
============================================

General notes
-------------

The script rules/NEWPACKET; it asks you some basic questions and
spits out a makefile for your packet which has the major stuff in place
and can easily be adapted to your needs afterwards. 

The basic idea is that Makefile, rules/Rules.make and rules/*.make are
all one big makefile (included by Makefile). So you can make some target
being dependend on every other target of the system. Just find out what
you need in order to build something and add it to the list of
dependencies. 

Then you have the configuration system: it all starts with
config/Config.in, which will be split up in the future. For some packets
it follows the "new" scheme to include rules/foobar.in files for the
packets.

NEWPACKET just takes rules/template.make and fills in the stuff you
enter. You have to add config options for your packets, either in
config/Config.in or - better - just add a source entry there and add
your options in rules/foobar.in. 


Steps
-----

A. use script rules/NEWPACKET to add a new packet (example NewToolName)
B. rules/NewToolName.in
C. config/Config.in



Example
-------

In this example we are going to add a new packet into the 
menu "Graphics Libraries  "

1.---------
Edit rules/NewToolName.in and modify the entries you want to see 
when configuring

menu "NewToolName-2.1.0  "
config NEWTOOLNAME
	bool
	prompt "Compile NewToolName"
endmenu

2.---------
Edit config/Config.in 

menu "Graphics Libraries  "

source rules/xfree430.in
source rules/clementine.in
source rules/NewToolName.in

endmenu


Caution
-------
If you perform a manual compilation (like me)

$ make xconfig
$ make extract
$ make prepare
$ make compile
$ make install

bear in mind that each make step is conditioned by the existence of the 
correspondent touched file in the directory state.
So you get these three files after these steps 
state/NewToolName.extract
state/NewToolName.prepare
state/NewToolName.compile

If you need a modulr rebuild you need simply to delete the file corresponding 
to the desired step.



03-10-2003  
Marco Cavallini <m.cavallini@koansoftware.com>