xref: /haiku/src/bin/Jamfile (revision 06b79f550944f3a88a70d9fa17ddfe804721253a)
1SubDir HAIKU_TOP src bin ;
2
3HAIKU_MULTIPLE_LOCALIZED_TARGETS on $(SUBDIR) = 1 ;
4
5SetSubDirSupportedPlatformsBeOSCompatible ;
6
7AddSubDirSupportedPlatforms libbe_test ;
8
9UsePrivateHeaders app interface shared storage support tracker usb ;
10UsePrivateSystemHeaders ;
11SubDirHdrs $(HAIKU_TOP) src add-ons kernel file_cache ;
12UseBuildFeatureHeaders ncurses ;
13
14local haiku-utils_rsrc = [ FGristFiles haiku-utils.rsrc ] ;
15
16ResComp $(haiku-utils_rsrc) : [ FGristFiles haiku-utils.rdef ] ;
17
18AddResources checkitout : checkitout.rdef ;
19AddResources dstcheck : dstcheck.rdef ;
20AddResources fortune : fortune.rdef ;
21AddResources hey : hey.rdef ;
22AddResources mimeset : mimeset.rdef ;
23AddResources mountvolume : mountvolume.rdef ;
24AddResources notify : notify.rdef ;
25AddResources setmime : setmime.rdef ;
26AddResources urlwrapper : urlwrapper.rdef ;
27
28# standard commands that don't need any additional library
29StdBinCommands
30	badblocks.cpp
31	chop.c
32	clear.c
33	driveinfo.c
34	error.c
35	fortune.c
36	finddir.c
37	fstrim.cpp
38	get_driver_settings.cpp
39	hd.c
40	listarea.c
41	listimage.c
42	listport.c
43	listsem.c
44	logger.cpp
45	lsindex.cpp
46	prio.c
47	ps.c
48	release.c
49	renice.c
50	rescan.c
51	system_time.cpp
52	unchop.c
53	uptime.cpp
54	vmstat.cpp
55	: : $(haiku-utils_rsrc) ;
56
57# Commands which don't need another library that depend on
58# Haiku-specific code
59if $(TARGET_PLATFORM) = haiku {
60StdBinCommands
61	boot_process_done.cpp
62	fdinfo.cpp
63	mount.c
64	rmattr.cpp
65	rmindex.cpp
66	safemode.c
67	unmount.c
68	: : $(haiku-utils_rsrc) ;
69}
70
71# standard commands that need libncurses.a
72Includes [ FGristFiles top.cpp watch.c ]
73	: [ BuildFeatureAttribute ncurses : headers ] ;
74
75StdBinCommands
76	watch.c
77	: [ BuildFeatureAttribute ncurses : library ] : $(haiku-utils_rsrc) ;
78
79# standard commands that need libbe.so
80StdBinCommands
81	autologin.cpp
82	beep.cpp
83	catattr.cpp
84	checkfs.cpp
85	clipboard.cpp
86	df.cpp
87	diskimage.cpp
88	dpms.cpp
89	draggers.cpp
90	ffm.cpp
91	iroster.cpp
92	launch_roster.cpp
93	listattr.cpp
94	listfont.cpp
95	listres.cpp
96	mkindex.cpp
97	message.cpp
98	modifiers.cpp
99	mvattr.cpp
100	play.cpp
101	query.cpp
102	quit.cpp
103	roster.cpp
104	setversion.cpp
105	trash.cpp
106	version.cpp
107	waitfor.cpp
108	WindowShade.cpp
109	: be : $(haiku-utils_rsrc) ;
110
111if $(TARGET_PLATFORM) = libbe_test {
112	HaikuInstall install-test-apps : $(HAIKU_APP_TEST_DIR) : setdecor
113		: tests!apps ;
114}
115
116# standard commands that need libbe.so and libsupc++.so
117StdBinCommands
118	alert.cpp
119	eject.cpp
120	getarch.cpp
121	hey.cpp
122	reindex.cpp
123	resattr.cpp
124	screeninfo.cpp
125	setarch.cpp
126	setdecor.cpp
127	settype.cpp
128	spybmessage.cpp
129	urlwrapper.cpp
130	: be [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
131
132# standard commands that need libbe.so, libsupc++.so, and libshared.a
133StdBinCommands
134	ramdisk.cpp
135	: shared be [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
136
137# standard commands that need libbe.so, libbnetapi.so, libsupc++.so
138StdBinCommands
139	open.cpp
140	urlwrapper.cpp
141	: be bnetapi [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
142
143# commands that need libbe.so and the stub catalog
144StdBinCommands
145	clockconfig.cpp
146	query.cpp
147	: be localestub : $(haiku-utils_rsrc) ;
148
149# commands that need libbe.so, libsupc++.so and the stub catalog
150StdBinCommands
151	dstcheck.cpp
152	: be [ TargetLibsupc++ ] localestub : $(haiku-utils_rsrc) ;
153
154# Haiku-specific apps which need libbe.so
155if $(TARGET_PLATFORM) = haiku {
156StdBinCommands
157	isvolume.cpp
158	shutdown.cpp
159	: be : $(haiku-utils_rsrc) ;
160}
161
162# standard commands that need libbe.so, libstdc++.so
163StdBinCommands
164	copyattr.cpp
165	setmime.cpp
166	xres.cpp
167	: be [ TargetLibstdc++ ] : $(haiku-utils_rsrc) ;
168
169# Haiku-specific apps which need libbe.so, libstdc++.so
170if $(TARGET_PLATFORM) = haiku {
171StdBinCommands
172	mountvolume.cpp
173	: be [ TargetLibstdc++ ] : $(haiku-utils_rsrc) ;
174}
175
176# commands that need libstdc++ only
177StdBinCommands
178	diff_zip.cpp
179	sysinfo.cpp
180	: [ TargetLibstdc++ ] : $(haiku-utils_rsrc) ;
181
182# commands that need libstdc++ and lubncurses
183StdBinCommands
184	top.cpp
185	: [ BuildFeatureAttribute ncurses : library ] [ TargetLibstdc++ ] : $(haiku-utils_rsrc) ;
186
187
188# standard commands that need libbe.so, libtranslation.so, libsupc++.so
189StdBinCommands
190	translate.cpp
191	: be translation [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
192
193# standard commands that need libbe.so, libtranslation.so, libicon.a, libstdc++.so
194StdBinCommands
195	notify.cpp
196	: be translation libicon.a [ TargetLibstdc++ ] : $(haiku-utils_rsrc) ;
197
198# standard commands that need libbe.so, libmedia.so
199StdBinCommands
200	installsound.cpp
201	: be libmedia.so : $(haiku-utils_rsrc) ;
202
203# standard commands that need libbe.so, libmedia.so, libsupc++.so
204StdBinCommands
205	setvolume.cpp
206	: be libmedia.so [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
207
208# standard commands that need libbe.so, libpackage.so, libsupc++.so
209StdBinCommands
210	findpaths.cpp
211	: be package [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
212
213# standard commands that need libbe.so, libdevice.so
214StdBinCommands
215	setusbconfig.cpp
216	: be libdevice.so : $(haiku-utils_rsrc) ;
217
218# standard commands that need libbluetooth.so, due the Bluetooth Kit
219StdBinCommands
220	bt_dev_info.cpp
221	: be libbluetooth.so : $(haiku-utils_rsrc) ;
222
223StdBinCommands
224	bt_discovery.cpp
225	: be libbluetooth.so [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
226
227
228# standard commands that need libbe.so, libbnetapi.so, libtracker.so
229StdBinCommands
230	checkitout.cpp
231	: be bnetapi tracker [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
232
233#standard commands that need libbe.so, libtracker.so and the catalog stub
234StdBinCommands
235	filepanel.cpp
236	: be tracker [ TargetLibsupc++ ] localestub : $(haiku-utils_rsrc) ;
237
238# mimeset needs libstorage_kit_mime.a
239StdBinCommands
240	mimeset.cpp
241	: be libstorage_kit_mime.a [ TargetLibstdc++ ] : $(haiku-utils_rsrc) ;
242
243# Localization of some applications
244DoCatalogs dstcheck
245	: x-vnd.Haiku-cmd-dstconfig
246	: dstcheck.cpp
247;
248
249DoCatalogs filepanel
250	: x-vnd.mmu_man.filepanel
251	: filepanel.cpp
252;
253
254SubInclude HAIKU_TOP src bin addattr ;
255SubInclude HAIKU_TOP src bin bfs_tools ;
256SubInclude HAIKU_TOP src bin cddb_lookup ;
257SubInclude HAIKU_TOP src bin compress ;
258SubInclude HAIKU_TOP src bin consoled ;
259SubInclude HAIKU_TOP src bin desklink ;
260SubInclude HAIKU_TOP src bin fwcontrol ;
261SubInclude HAIKU_TOP src bin hid_decode ;
262SubInclude HAIKU_TOP src bin keymap ;
263SubInclude HAIKU_TOP src bin keystore ;
264SubInclude HAIKU_TOP src bin listdev ;
265SubInclude HAIKU_TOP src bin listusb ;
266SubInclude HAIKU_TOP src bin locale ;
267SubInclude HAIKU_TOP src bin makebootable ;
268#SubInclude HAIKU_TOP src bin makeudfimage ;
269SubInclude HAIKU_TOP src bin mail_utils ;
270SubInclude HAIKU_TOP src bin media_client ;
271SubInclude HAIKU_TOP src bin mkdos ;
272SubInclude HAIKU_TOP src bin mkfs ;
273SubInclude HAIKU_TOP src bin multiuser ;
274SubInclude HAIKU_TOP src bin package ;
275SubInclude HAIKU_TOP src bin package_repo ;
276SubInclude HAIKU_TOP src bin pc ;
277SubInclude HAIKU_TOP src bin pcmcia-cs ;
278SubInclude HAIKU_TOP src bin pkgman ;
279SubInclude HAIKU_TOP src bin rc ;
280SubInclude HAIKU_TOP src bin rmd160 ;
281SubInclude HAIKU_TOP src bin screen_blanker ;
282SubInclude HAIKU_TOP src bin screenmode ;
283SubInclude HAIKU_TOP src bin writembr ;
284SubInclude HAIKU_TOP src bin zic ;
285
286# debugging tools
287SubInclude HAIKU_TOP src bin debug ;
288
289# Network command line tools
290SubInclude HAIKU_TOP src bin network ;
291
292# Other stuff
293SubInclude HAIKU_TOP src bin filteredquery ;
294