xref: /haiku/src/bin/Jamfile (revision be9a70562e3c6552efb0caa53bd26965e7e1bed7)
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	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 bc ;
256SubInclude HAIKU_TOP src bin bfs_tools ;
257SubInclude HAIKU_TOP src bin cddb_lookup ;
258SubInclude HAIKU_TOP src bin compress ;
259SubInclude HAIKU_TOP src bin consoled ;
260SubInclude HAIKU_TOP src bin coreutils ;
261SubInclude HAIKU_TOP src bin desklink ;
262SubInclude HAIKU_TOP src bin fwcontrol ;
263SubInclude HAIKU_TOP src bin hid_decode ;
264SubInclude HAIKU_TOP src bin ideinfo ;
265SubInclude HAIKU_TOP src bin keymap ;
266SubInclude HAIKU_TOP src bin keystore ;
267SubInclude HAIKU_TOP src bin listdev ;
268SubInclude HAIKU_TOP src bin listusb ;
269SubInclude HAIKU_TOP src bin locale ;
270SubInclude HAIKU_TOP src bin makebootable ;
271#SubInclude HAIKU_TOP src bin makeudfimage ;
272SubInclude HAIKU_TOP src bin mail_utils ;
273SubInclude HAIKU_TOP src bin mkdos ;
274SubInclude HAIKU_TOP src bin mkfs ;
275SubInclude HAIKU_TOP src bin multiuser ;
276SubInclude HAIKU_TOP src bin package ;
277SubInclude HAIKU_TOP src bin package_repo ;
278SubInclude HAIKU_TOP src bin pc ;
279SubInclude HAIKU_TOP src bin pcmcia-cs ;
280SubInclude HAIKU_TOP src bin pkgman ;
281SubInclude HAIKU_TOP src bin playsound ;
282SubInclude HAIKU_TOP src bin rc ;
283SubInclude HAIKU_TOP src bin rmd160 ;
284SubInclude HAIKU_TOP src bin screen_blanker ;
285SubInclude HAIKU_TOP src bin screenmode ;
286SubInclude HAIKU_TOP src bin writembr ;
287SubInclude HAIKU_TOP src bin zic ;
288
289# debugging tools
290SubInclude HAIKU_TOP src bin debug ;
291
292# Network command line tools
293SubInclude HAIKU_TOP src bin network ;
294
295# Other stuff
296SubInclude HAIKU_TOP src bin filteredquery ;
297