xref: /haiku/src/bin/Jamfile (revision ca8ed5ea660fb6275799a3b7f138b201c41a667b)
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	unchop.c
52	uptime.cpp
53	vmstat.cpp
54	: : $(haiku-utils_rsrc) ;
55
56# Commands which don't need another library that depend on
57# Haiku-specific code
58if $(TARGET_PLATFORM) = haiku {
59StdBinCommands
60	boot_process_done.cpp
61	fdinfo.cpp
62	mount.c
63	rmattr.cpp
64	rmindex.cpp
65	safemode.c
66	unmount.c
67	: : $(haiku-utils_rsrc) ;
68}
69
70# standard commands that need libncurses.a
71Includes [ FGristFiles top.cpp watch.c ]
72	: [ BuildFeatureAttribute ncurses : headers ] ;
73
74StdBinCommands
75	watch.c
76	: [ BuildFeatureAttribute ncurses : library ] : $(haiku-utils_rsrc) ;
77
78# standard commands that need libbe.so
79StdBinCommands
80	autologin.cpp
81	beep.cpp
82	catattr.cpp
83	checkfs.cpp
84	clipboard.cpp
85	df.cpp
86	diskimage.cpp
87	dpms.cpp
88	draggers.cpp
89	ffm.cpp
90	iroster.cpp
91	listattr.cpp
92	listfont.cpp
93	listres.cpp
94	mkindex.cpp
95	message.cpp
96	modifiers.cpp
97	mvattr.cpp
98	play.cpp
99	query.cpp
100	quit.cpp
101	roster.cpp
102	setversion.cpp
103	trash.cpp
104	version.cpp
105	waitfor.cpp
106	WindowShade.cpp
107	: be : $(haiku-utils_rsrc) ;
108
109if $(TARGET_PLATFORM) = libbe_test {
110	HaikuInstall install-test-apps : $(HAIKU_APP_TEST_DIR) : setdecor
111		: tests!apps ;
112}
113
114# standard commands that need libbe.so and libsupc++.so
115StdBinCommands
116	alert.cpp
117	eject.cpp
118	getarch.cpp
119	hey.cpp
120	reindex.cpp
121	resattr.cpp
122	screeninfo.cpp
123	setarch.cpp
124	setdecor.cpp
125	settype.cpp
126	spybmessage.cpp
127	urlwrapper.cpp
128	: be [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
129
130# standard commands that need libbe.so, libsupc++.so, and libshared.a
131StdBinCommands
132	ramdisk.cpp
133	: libshared.a be [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
134
135# standard commands that need libbe.so, libbnetapi.solibsupc++.so
136StdBinCommands
137	open.cpp
138	urlwrapper.cpp
139	: be bnetapi [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
140
141# commands that need libbe.so and the stub catalog
142StdBinCommands
143	clockconfig.cpp
144	query.cpp
145	: be localestub : $(haiku-utils_rsrc) ;
146
147# commands that need libbe.so, libsupc++.so and the stub catalog
148StdBinCommands
149	dstcheck.cpp
150	: be [ TargetLibsupc++ ] localestub : $(haiku-utils_rsrc) ;
151
152# Haiku-specific apps which need libbe.so
153if $(TARGET_PLATFORM) = haiku {
154StdBinCommands
155	isvolume.cpp
156	shutdown.cpp
157	: be : $(haiku-utils_rsrc) ;
158}
159
160# standard commands that need libbe.so, libstdc++.so
161StdBinCommands
162	copyattr.cpp
163	setmime.cpp
164	xres.cpp
165	: be [ TargetLibstdc++ ] : $(haiku-utils_rsrc) ;
166
167# Haiku-specific apps which need libbe.so, libstdc++.so
168if $(TARGET_PLATFORM) = haiku {
169StdBinCommands
170	mountvolume.cpp
171	: be [ TargetLibstdc++ ] : $(haiku-utils_rsrc) ;
172}
173
174# commands that need libstdc++ only
175StdBinCommands
176	diff_zip.cpp
177	sysinfo.cpp
178	: [ TargetLibstdc++ ] : $(haiku-utils_rsrc) ;
179
180# commands that need libstdc++ and lubncurses
181StdBinCommands
182	top.cpp
183	: [ BuildFeatureAttribute ncurses : library ] [ TargetLibstdc++ ] : $(haiku-utils_rsrc) ;
184
185
186# standard commands that need libbe.so, libtranslation.so, libsupc++.so
187StdBinCommands
188	translate.cpp
189	: be translation [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
190
191# standard commands that need libbe.so, libtranslation.so, libicon.a, libstdc++.so
192StdBinCommands
193	notify.cpp
194	: be translation libicon.a [ TargetLibstdc++ ] : $(haiku-utils_rsrc) ;
195
196# standard commands that need libbe.so, libmedia.so
197StdBinCommands
198	installsound.cpp
199	: be libmedia.so : $(haiku-utils_rsrc) ;
200
201# standard commands that need libbe.so, libmedia.so, libsupc++.so
202StdBinCommands
203	setvolume.cpp
204	: be libmedia.so [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
205
206# standard commands that need libbe.so, libmail.so
207StdBinCommands
208	mail.cpp
209	: be libmail.so : $(haiku-utils_rsrc) ;
210
211# standard commands that need libbe.so, libpackage.so, libsupc++.so
212StdBinCommands
213	findpaths.cpp
214	: be package [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
215
216# standard commands that need libbe.so, libdevice.so
217StdBinCommands
218	listusb.cpp
219	setusbconfig.cpp
220	: be libdevice.so : $(haiku-utils_rsrc) ;
221
222ObjectHdrs [ FGristFiles listusb$(SUFOBJ) ]
223	: [ FDirName $(SUBDIR) $(DOTDOT) add-ons kernel bus_managers usb ]
224		[ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH))
225			apps devices ] ;
226Includes [ FGristFiles listusb.cpp ] : <src!apps!devices>usbhdr.h ;
227
228# standard commands that need libbluetooth.so, due the Bluetooth Kit
229StdBinCommands
230	bt_dev_info.cpp
231	: be libbluetooth.so : $(haiku-utils_rsrc) ;
232
233StdBinCommands
234	bt_discovery.cpp
235	: be libbluetooth.so [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
236
237
238# standard commands that need libbe.so, libbnetapi.so, libtracker.so
239StdBinCommands
240	checkitout.cpp
241	: be bnetapi tracker [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
242
243#standard commands that need libbe.so, libtracker.so and the catalog stub
244StdBinCommands
245	filepanel.cpp
246	: be tracker [ TargetLibsupc++ ] localestub : $(haiku-utils_rsrc) ;
247
248# mimeset needs libstorage_kit_mime.a
249StdBinCommands
250	mimeset.cpp
251	: be libstorage_kit_mime.a [ TargetLibstdc++ ] : $(haiku-utils_rsrc) ;
252
253# Localization of some applications
254DoCatalogs dstcheck
255	: x-vnd.Haiku-cmd-dstconfig
256	: dstcheck.cpp
257;
258
259DoCatalogs filepanel
260	: x-vnd.mmu_man.filepanel
261	: filepanel.cpp
262;
263
264SubInclude HAIKU_TOP src bin addattr ;
265SubInclude HAIKU_TOP src bin bc ;
266SubInclude HAIKU_TOP src bin bfs_tools ;
267SubInclude HAIKU_TOP src bin compress ;
268SubInclude HAIKU_TOP src bin consoled ;
269SubInclude HAIKU_TOP src bin coreutils ;
270SubInclude HAIKU_TOP src bin desklink ;
271SubInclude HAIKU_TOP src bin diffutils ;
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