xref: /haiku/src/bin/Jamfile (revision 0a6d59595114ebc6adaeefc45ecbc9eab340cc7e)
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	hd.c
39	idestatus.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	listattr.cpp
93	listfont.cpp
94	listres.cpp
95	mkindex.cpp
96	message.cpp
97	modifiers.cpp
98	mvattr.cpp
99	play.cpp
100	query.cpp
101	quit.cpp
102	roster.cpp
103	setversion.cpp
104	trash.cpp
105	version.cpp
106	waitfor.cpp
107	WindowShade.cpp
108	: be : $(haiku-utils_rsrc) ;
109
110if $(TARGET_PLATFORM) = libbe_test {
111	HaikuInstall install-test-apps : $(HAIKU_APP_TEST_DIR) : setdecor
112		: tests!apps ;
113}
114
115# standard commands that need libbe.so and libsupc++.so
116StdBinCommands
117	alert.cpp
118	eject.cpp
119	getarch.cpp
120	hey.cpp
121	reindex.cpp
122	resattr.cpp
123	screeninfo.cpp
124	setarch.cpp
125	setdecor.cpp
126	settype.cpp
127	spybmessage.cpp
128	urlwrapper.cpp
129	: be [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
130
131# standard commands that need libbe.so, libsupc++.so, and libshared.a
132StdBinCommands
133	ramdisk.cpp
134	: libshared.a be [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
135
136# standard commands that need libbe.so, libbnetapi.solibsupc++.so
137StdBinCommands
138	open.cpp
139	urlwrapper.cpp
140	: be bnetapi [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
141
142# commands that need libbe.so and the stub catalog
143StdBinCommands
144	clockconfig.cpp
145	query.cpp
146	: be localestub : $(haiku-utils_rsrc) ;
147
148# commands that need libbe.so, libsupc++.so and the stub catalog
149StdBinCommands
150	dstcheck.cpp
151	: be [ TargetLibsupc++ ] localestub : $(haiku-utils_rsrc) ;
152
153# Haiku-specific apps which need libbe.so
154if $(TARGET_PLATFORM) = haiku {
155StdBinCommands
156	isvolume.cpp
157	shutdown.cpp
158	: be : $(haiku-utils_rsrc) ;
159}
160
161# standard commands that need libbe.so, libstdc++.so
162StdBinCommands
163	copyattr.cpp
164	setmime.cpp
165	xres.cpp
166	: be [ TargetLibstdc++ ] : $(haiku-utils_rsrc) ;
167
168# Haiku-specific apps which need libbe.so, libstdc++.so
169if $(TARGET_PLATFORM) = haiku {
170StdBinCommands
171	mountvolume.cpp
172	: be [ TargetLibstdc++ ] : $(haiku-utils_rsrc) ;
173}
174
175# commands that need libstdc++ only
176StdBinCommands
177	diff_zip.cpp
178	sysinfo.cpp
179	: [ TargetLibstdc++ ] : $(haiku-utils_rsrc) ;
180
181# commands that need libstdc++ and lubncurses
182StdBinCommands
183	top.cpp
184	: [ BuildFeatureAttribute ncurses : library ] [ TargetLibstdc++ ] : $(haiku-utils_rsrc) ;
185
186
187# standard commands that need libbe.so, libtranslation.so, libsupc++.so
188StdBinCommands
189	translate.cpp
190	: be translation [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
191
192# standard commands that need libbe.so, libtranslation.so, libicon.a, libstdc++.so
193StdBinCommands
194	notify.cpp
195	: be translation libicon.a [ TargetLibstdc++ ] : $(haiku-utils_rsrc) ;
196
197# standard commands that need libbe.so, libmedia.so
198StdBinCommands
199	installsound.cpp
200	: be libmedia.so : $(haiku-utils_rsrc) ;
201
202# standard commands that need libbe.so, libmedia.so, libsupc++.so
203StdBinCommands
204	setvolume.cpp
205	: be libmedia.so [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
206
207# standard commands that need libbe.so, libmail.so
208StdBinCommands
209	mail.cpp
210	: be libmail.so : $(haiku-utils_rsrc) ;
211
212# standard commands that need libbe.so, libpackage.so, libsupc++.so
213StdBinCommands
214	findpaths.cpp
215	: be package [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
216
217# standard commands that need libbe.so, libdevice.so
218StdBinCommands
219	listusb.cpp
220	setusbconfig.cpp
221	: be libdevice.so : $(haiku-utils_rsrc) ;
222
223ObjectHdrs [ FGristFiles listusb$(SUFOBJ) ]
224	: [ FDirName $(SUBDIR) $(DOTDOT) add-ons kernel bus_managers usb ]
225		[ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH))
226			apps devices ] ;
227Includes [ FGristFiles listusb.cpp ] : <src!apps!devices>usbhdr.h ;
228
229# standard commands that need libbluetooth.so, due the Bluetooth Kit
230StdBinCommands
231	bt_dev_info.cpp
232	: be libbluetooth.so : $(haiku-utils_rsrc) ;
233
234StdBinCommands
235	bt_discovery.cpp
236	: be libbluetooth.so [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
237
238
239# standard commands that need libbe.so, libbnetapi.so, libtracker.so
240StdBinCommands
241	checkitout.cpp
242	: be bnetapi tracker [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
243
244#standard commands that need libbe.so, libtracker.so and the catalog stub
245StdBinCommands
246	filepanel.cpp
247	: be tracker [ TargetLibsupc++ ] localestub : $(haiku-utils_rsrc) ;
248
249# mimeset needs libstorage_kit_mime.a
250StdBinCommands
251	mimeset.cpp
252	: be libstorage_kit_mime.a [ TargetLibstdc++ ] : $(haiku-utils_rsrc) ;
253
254# Localization of some applications
255DoCatalogs dstcheck
256	: x-vnd.Haiku-cmd-dstconfig
257	: dstcheck.cpp
258;
259
260DoCatalogs filepanel
261	: x-vnd.mmu_man.filepanel
262	: filepanel.cpp
263;
264
265SubInclude HAIKU_TOP src bin addattr ;
266SubInclude HAIKU_TOP src bin bc ;
267SubInclude HAIKU_TOP src bin bfs_tools ;
268SubInclude HAIKU_TOP src bin compress ;
269SubInclude HAIKU_TOP src bin consoled ;
270SubInclude HAIKU_TOP src bin coreutils ;
271SubInclude HAIKU_TOP src bin desklink ;
272SubInclude HAIKU_TOP src bin fwcontrol ;
273SubInclude HAIKU_TOP src bin hid_decode ;
274SubInclude HAIKU_TOP src bin ideinfo ;
275SubInclude HAIKU_TOP src bin keymap ;
276SubInclude HAIKU_TOP src bin keystore ;
277SubInclude HAIKU_TOP src bin listdev ;
278SubInclude HAIKU_TOP src bin locale ;
279SubInclude HAIKU_TOP src bin makebootable ;
280#SubInclude HAIKU_TOP src bin makeudfimage ;
281SubInclude HAIKU_TOP src bin mail_utils ;
282SubInclude HAIKU_TOP src bin mkdos ;
283SubInclude HAIKU_TOP src bin mkfs ;
284SubInclude HAIKU_TOP src bin multiuser ;
285SubInclude HAIKU_TOP src bin package ;
286SubInclude HAIKU_TOP src bin package_repo ;
287SubInclude HAIKU_TOP src bin pc ;
288SubInclude HAIKU_TOP src bin pcmcia-cs ;
289SubInclude HAIKU_TOP src bin pkgman ;
290SubInclude HAIKU_TOP src bin playsound ;
291SubInclude HAIKU_TOP src bin rc ;
292SubInclude HAIKU_TOP src bin rmd160 ;
293SubInclude HAIKU_TOP src bin screen_blanker ;
294SubInclude HAIKU_TOP src bin screenmode ;
295SubInclude HAIKU_TOP src bin writembr ;
296SubInclude HAIKU_TOP src bin zic ;
297
298# debugging tools
299SubInclude HAIKU_TOP src bin debug ;
300
301# Network command line tools
302SubInclude HAIKU_TOP src bin network ;
303
304# Other stuff
305SubInclude HAIKU_TOP src bin filteredquery ;
306