xref: /haiku/src/bin/Jamfile (revision 1149fa6ece3567c466008a04ae8a830a63bafdaa)
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	sysinfo.cpp
53	unchop.c
54	uptime.cpp
55	vmstat.cpp
56	: : $(haiku-utils_rsrc) ;
57
58# Commands which don't need another library that depend on
59# Haiku-specific code
60if $(TARGET_PLATFORM) = haiku {
61StdBinCommands
62	boot_process_done.cpp
63	fdinfo.cpp
64	mount.c
65	rmattr.cpp
66	rmindex.cpp
67	safemode.c
68	unmount.c
69	: : $(haiku-utils_rsrc) ;
70}
71
72# standard commands that need libncurses.a
73StdBinCommands
74	top.c
75	: libncurses.a : $(haiku-utils_rsrc) ;
76
77# standard commands that need libbe.so
78StdBinCommands
79	beep.cpp
80	catattr.cpp
81	checkfs.cpp
82	clipboard.cpp
83	clockconfig.cpp
84	df.cpp
85	diskimage.cpp
86	dpms.cpp
87	draggers.cpp
88	ffm.cpp
89	iroster.cpp
90	listattr.cpp
91	listfont.cpp
92	listres.cpp
93	mkindex.cpp
94	message.cpp
95	modifiers.cpp
96	mvattr.cpp
97	open.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	findpaths.cpp
119	hey.cpp
120	reindex.cpp
121	resattr.cpp
122	setdecor.cpp
123	settype.cpp
124	spybmessage.cpp
125	urlwrapper.cpp
126	: be $(TARGET_LIBSUPC++) : $(haiku-utils_rsrc) ;
127
128# commands that need libbe.so and the stub catalog
129StdBinCommands
130	clockconfig.cpp
131	query.cpp
132	: be localestub : $(haiku-utils_rsrc) ;
133
134# commands that need libbe.so, libsupc++.so and the stub catalog
135StdBinCommands
136	dstcheck.cpp
137	: be $(TARGET_LIBSUPC++) localestub : $(haiku-utils_rsrc) ;
138
139# Haiku-specific apps which need libbe.so
140if $(TARGET_PLATFORM) = haiku {
141StdBinCommands
142	isvolume.cpp
143	shutdown.cpp
144	: be : $(haiku-utils_rsrc) ;
145}
146
147# standard commands that need libbe.so, libstdc++.so
148StdBinCommands
149	copyattr.cpp
150	setmime.cpp
151	xres.cpp
152	: be $(TARGET_LIBSTDC++) : $(haiku-utils_rsrc) ;
153
154# Haiku-specific apps which need libbe.so, libstdc++.so
155if $(TARGET_PLATFORM) = haiku {
156StdBinCommands
157	mountvolume.cpp
158	: be $(TARGET_LIBSTDC++) : $(haiku-utils_rsrc) ;
159}
160
161# commands that need libstdc++ only
162StdBinCommands
163	diff_zip.cpp
164	: $(TARGET_LIBSTDC++) : $(haiku-utils_rsrc) ;
165
166# standard commands that need libbe.so, libtranslation.so, libsupc++.so
167StdBinCommands
168	translate.cpp
169	: be translation $(TARGET_LIBSUPC++) : $(haiku-utils_rsrc) ;
170
171# standard commands that need libbe.so, libtranslation.so, libicon.a, libstdc++.so
172StdBinCommands
173	notify.cpp
174	: be translation libicon.a $(TARGET_LIBSTDC++) : $(haiku-utils_rsrc) ;
175
176# standard commands that need libbe.so, libmedia.so
177StdBinCommands
178	installsound.cpp
179	: be libmedia.so : $(haiku-utils_rsrc) ;
180
181# standard commands that need libbe.so, libmedia.so, libsupc++.so
182StdBinCommands
183	setvolume.cpp
184	: be libmedia.so $(TARGET_LIBSUPC++) : $(haiku-utils_rsrc) ;
185
186# standard commands that need libbe.so, libmail.so
187StdBinCommands
188	mail.cpp
189	: be libmail.so : $(haiku-utils_rsrc) ;
190
191# standard commands that need libbe.so, libdevice.so
192StdBinCommands
193	listusb.cpp
194	setusbconfig.cpp
195	: be libdevice.so : $(haiku-utils_rsrc) ;
196
197ObjectHdrs [ FGristFiles listusb$(SUFOBJ) ]
198	: [ FDirName $(SUBDIR) $(DOTDOT) add-ons kernel bus_managers usb ]
199		[ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH))
200			apps devices ] ;
201Includes [ FGristFiles listusb.cpp ] : <src!apps!devices>usbhdr.h ;
202
203# standard commands that need libbluetooth.so, due the Bluetooth Kit
204StdBinCommands
205	bt_dev_info.cpp
206	: be libbluetooth.so : $(haiku-utils_rsrc) ;
207
208StdBinCommands
209	bt_discovery.cpp
210	: be libbluetooth.so $(TARGET_LIBSUPC++) : $(haiku-utils_rsrc) ;
211
212
213# standard commands that need libbe.so, libtracker.so
214StdBinCommands
215	checkitout.cpp
216	: be tracker $(TARGET_LIBSUPC++) : $(haiku-utils_rsrc) ;
217
218#standard commands that need libbe.so, libtracker.so and the stub catalog
219StdBinCommands
220	filepanel.cpp
221	: be tracker $(TARGET_LIBSUPC++) localestub : $(haiku-utils_rsrc) ;
222
223# standard commands that need libncurses.a
224StdBinCommands
225	watch.c
226	: libncurses.a : $(haiku-utils_rsrc) ;
227
228# mimeset needs libstorage_kit_mime.a
229StdBinCommands
230	mimeset.cpp
231	: be libstorage_kit_mime.a $(TARGET_LIBSTDC++) : $(haiku-utils_rsrc) ;
232
233# Localization of some applications
234DoCatalogs dstcheck
235	: x-vnd.Haiku-cmd-dstconfig
236	: dstcheck.cpp
237;
238
239DoCatalogs filepanel
240	: x-vnd.mmu_man.filepanel
241	: filepanel.cpp
242;
243
244SubInclude HAIKU_TOP src bin addattr ;
245SubInclude HAIKU_TOP src bin bash ;
246SubInclude HAIKU_TOP src bin bc ;
247SubInclude HAIKU_TOP src bin bfs_tools ;
248SubInclude HAIKU_TOP src bin compress ;
249SubInclude HAIKU_TOP src bin consoled ;
250SubInclude HAIKU_TOP src bin coreutils ;
251SubInclude HAIKU_TOP src bin desklink ;
252SubInclude HAIKU_TOP src bin diffutils ;
253SubInclude HAIKU_TOP src bin findutils ;
254SubInclude HAIKU_TOP src bin fwcontrol ;
255SubInclude HAIKU_TOP src bin gawk ;
256SubInclude HAIKU_TOP src bin gdb ;
257SubInclude HAIKU_TOP src bin hid_decode ;
258SubInclude HAIKU_TOP src bin ideinfo ;
259SubInclude HAIKU_TOP src bin keymap ;
260SubInclude HAIKU_TOP src bin keystore ;
261SubInclude HAIKU_TOP src bin less ;
262SubInclude HAIKU_TOP src bin listdev ;
263SubInclude HAIKU_TOP src bin locale ;
264SubInclude HAIKU_TOP src bin makebootable ;
265#SubInclude HAIKU_TOP src bin makeudfimage ;
266SubInclude HAIKU_TOP src bin mail_utils ;
267SubInclude HAIKU_TOP src bin mkdos ;
268SubInclude HAIKU_TOP src bin mkfs ;
269SubInclude HAIKU_TOP src bin multiuser ;
270SubInclude HAIKU_TOP src bin package ;
271SubInclude HAIKU_TOP src bin package_repo ;
272SubInclude HAIKU_TOP src bin patch ;
273SubInclude HAIKU_TOP src bin pc ;
274SubInclude HAIKU_TOP src bin pcmcia-cs ;
275SubInclude HAIKU_TOP src bin pkgman ;
276SubInclude HAIKU_TOP src bin playsound ;
277SubInclude HAIKU_TOP src bin rc ;
278SubInclude HAIKU_TOP src bin rmd160 ;
279SubInclude HAIKU_TOP src bin screen_blanker ;
280SubInclude HAIKU_TOP src bin screenmode ;
281SubInclude HAIKU_TOP src bin sharutils ;
282SubInclude HAIKU_TOP src bin writembr ;
283SubInclude HAIKU_TOP src bin zic ;
284
285# RCS commands
286SubInclude HAIKU_TOP src bin rcs ;
287
288# debugging tools
289SubInclude HAIKU_TOP src bin debug ;
290
291# Network command line tools
292SubInclude HAIKU_TOP src bin network ;
293
294# Compression command line tools
295SubInclude HAIKU_TOP src bin unzip ;
296SubInclude HAIKU_TOP src bin zip ;
297SubInclude HAIKU_TOP src bin gzip ;
298