xref: /haiku/src/bin/Jamfile (revision 41660cabf4f1cabafed672078cf3ee6d96eee073)
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 ;
12UseLibraryHeaders 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	cal.c
32	chop.c
33	clear.c
34	driveinfo.c
35	error.c
36	fortune.c
37	finddir.c
38	fstrim.cpp
39	hd.c
40	idestatus.c
41	listarea.c
42	listimage.c
43	listport.c
44	listsem.c
45	logger.cpp
46	lsindex.cpp
47	prio.c
48	ps.c
49	release.c
50	renice.c
51	rescan.c
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
72StdBinCommands
73	top.c
74	: libncurses.a : $(haiku-utils_rsrc) ;
75
76# standard commands that need libbe.so
77StdBinCommands
78	beep.cpp
79	catattr.cpp
80	checkfs.cpp
81	clipboard.cpp
82	clockconfig.cpp
83	df.cpp
84	diskimage.cpp
85	dpms.cpp
86	draggers.cpp
87	ffm.cpp
88	iroster.cpp
89	listattr.cpp
90	listfont.cpp
91	listres.cpp
92	mkindex.cpp
93	message.cpp
94	modifiers.cpp
95	mvattr.cpp
96	play.cpp
97	query.cpp
98	quit.cpp
99	roster.cpp
100	setversion.cpp
101	trash.cpp
102	version.cpp
103	waitfor.cpp
104	WindowShade.cpp
105	: be : $(haiku-utils_rsrc) ;
106
107if $(TARGET_PLATFORM) = libbe_test {
108	HaikuInstall install-test-apps : $(HAIKU_APP_TEST_DIR) : setdecor
109		: tests!apps ;
110}
111
112# standard commands that need libbe.so and libsupc++.so
113StdBinCommands
114	alert.cpp
115	eject.cpp
116	getarch.cpp
117	hey.cpp
118	reindex.cpp
119	resattr.cpp
120	screen_info.cpp
121	setarch.cpp
122	setdecor.cpp
123	settype.cpp
124	spybmessage.cpp
125	urlwrapper.cpp
126	: be [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
127
128# standard commands that need libbe.so, libsupc++.so, and libshared.a
129StdBinCommands
130	ramdisk.cpp
131	: libshared.a be [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
132
133# standard commands that need libbe.so, libbnetapi.solibsupc++.so
134StdBinCommands
135	open.cpp
136	urlwrapper.cpp
137	: be bnetapi [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
138
139# commands that need libbe.so and the stub catalog
140StdBinCommands
141	clockconfig.cpp
142	query.cpp
143	: be localestub : $(haiku-utils_rsrc) ;
144
145# commands that need libbe.so, libsupc++.so and the stub catalog
146StdBinCommands
147	dstcheck.cpp
148	: be [ TargetLibsupc++ ] localestub : $(haiku-utils_rsrc) ;
149
150# Haiku-specific apps which need libbe.so
151if $(TARGET_PLATFORM) = haiku {
152StdBinCommands
153	isvolume.cpp
154	shutdown.cpp
155	: be : $(haiku-utils_rsrc) ;
156}
157
158# standard commands that need libbe.so, libstdc++.so
159StdBinCommands
160	copyattr.cpp
161	setmime.cpp
162	xres.cpp
163	: be [ TargetLibstdc++ ] : $(haiku-utils_rsrc) ;
164
165# Haiku-specific apps which need libbe.so, libstdc++.so
166if $(TARGET_PLATFORM) = haiku {
167StdBinCommands
168	mountvolume.cpp
169	: be [ TargetLibstdc++ ] : $(haiku-utils_rsrc) ;
170}
171
172# commands that need libstdc++ only
173StdBinCommands
174	diff_zip.cpp
175	sysinfo.cpp
176	: [ TargetLibstdc++ ] : $(haiku-utils_rsrc) ;
177
178# standard commands that need libbe.so, libtranslation.so, libsupc++.so
179StdBinCommands
180	translate.cpp
181	: be translation [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
182
183# standard commands that need libbe.so, libtranslation.so, libicon.a, libstdc++.so
184StdBinCommands
185	notify.cpp
186	: be translation libicon.a [ TargetLibstdc++ ] : $(haiku-utils_rsrc) ;
187
188# standard commands that need libbe.so, libmedia.so
189StdBinCommands
190	installsound.cpp
191	: be libmedia.so : $(haiku-utils_rsrc) ;
192
193# standard commands that need libbe.so, libmedia.so, libsupc++.so
194StdBinCommands
195	setvolume.cpp
196	: be libmedia.so [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
197
198# standard commands that need libbe.so, libmail.so
199StdBinCommands
200	mail.cpp
201	: be libmail.so : $(haiku-utils_rsrc) ;
202
203# standard commands that need libbe.so, libpackage.so, libsupc++.so
204StdBinCommands
205	findpaths.cpp
206	: be package [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
207
208# standard commands that need libbe.so, libdevice.so
209StdBinCommands
210	listusb.cpp
211	setusbconfig.cpp
212	: be libdevice.so : $(haiku-utils_rsrc) ;
213
214ObjectHdrs [ FGristFiles listusb$(SUFOBJ) ]
215	: [ FDirName $(SUBDIR) $(DOTDOT) add-ons kernel bus_managers usb ]
216		[ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH))
217			apps devices ] ;
218Includes [ FGristFiles listusb.cpp ] : <src!apps!devices>usbhdr.h ;
219
220# standard commands that need libbluetooth.so, due the Bluetooth Kit
221StdBinCommands
222	bt_dev_info.cpp
223	: be libbluetooth.so : $(haiku-utils_rsrc) ;
224
225StdBinCommands
226	bt_discovery.cpp
227	: be libbluetooth.so [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
228
229
230# standard commands that need libbe.so, libbnetapi.so, libtracker.so
231StdBinCommands
232	checkitout.cpp
233	: be bnetapi tracker [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
234
235#standard commands that need libbe.so, libtracker.so and the stub catalog
236StdBinCommands
237	filepanel.cpp
238	: be tracker [ TargetLibsupc++ ] localestub : $(haiku-utils_rsrc) ;
239
240# standard commands that need libncurses.a
241StdBinCommands
242	watch.c
243	: libncurses.a : $(haiku-utils_rsrc) ;
244
245# mimeset needs libstorage_kit_mime.a
246StdBinCommands
247	mimeset.cpp
248	: be libstorage_kit_mime.a [ TargetLibstdc++ ] : $(haiku-utils_rsrc) ;
249
250# Localization of some applications
251DoCatalogs dstcheck
252	: x-vnd.Haiku-cmd-dstconfig
253	: dstcheck.cpp
254;
255
256DoCatalogs filepanel
257	: x-vnd.mmu_man.filepanel
258	: filepanel.cpp
259;
260
261SubInclude HAIKU_TOP src bin addattr ;
262SubInclude HAIKU_TOP src bin bc ;
263SubInclude HAIKU_TOP src bin bfs_tools ;
264SubInclude HAIKU_TOP src bin compress ;
265SubInclude HAIKU_TOP src bin consoled ;
266SubInclude HAIKU_TOP src bin coreutils ;
267SubInclude HAIKU_TOP src bin desklink ;
268SubInclude HAIKU_TOP src bin diffutils ;
269SubInclude HAIKU_TOP src bin fwcontrol ;
270SubInclude HAIKU_TOP src bin gawk ; # used only for libintl by gdb
271SubInclude HAIKU_TOP src bin gdb ;
272SubInclude HAIKU_TOP src bin hid_decode ;
273SubInclude HAIKU_TOP src bin ideinfo ;
274SubInclude HAIKU_TOP src bin keymap ;
275SubInclude HAIKU_TOP src bin keystore ;
276SubInclude HAIKU_TOP src bin listdev ;
277SubInclude HAIKU_TOP src bin locale ;
278SubInclude HAIKU_TOP src bin makebootable ;
279#SubInclude HAIKU_TOP src bin makeudfimage ;
280SubInclude HAIKU_TOP src bin mail_utils ;
281SubInclude HAIKU_TOP src bin mkdos ;
282SubInclude HAIKU_TOP src bin mkfs ;
283SubInclude HAIKU_TOP src bin multiuser ;
284SubInclude HAIKU_TOP src bin package ;
285SubInclude HAIKU_TOP src bin package_repo ;
286SubInclude HAIKU_TOP src bin patch ;
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# RCS commands
299SubInclude HAIKU_TOP src bin rcs ;
300
301# debugging tools
302SubInclude HAIKU_TOP src bin debug ;
303
304# Network command line tools
305SubInclude HAIKU_TOP src bin network ;
306
307# Compression command line tools
308SubInclude HAIKU_TOP src bin unzip ;
309SubInclude HAIKU_TOP src bin zip ;
310SubInclude HAIKU_TOP src bin gzip ;
311
312# Other stuff
313SubInclude HAIKU_TOP src bin filteredquery ;
314