master
Makefile
1.POSIX:
2include config.mk
3
4.SUFFIXES:
5.SUFFIXES: .y .o .c
6
7HDR =\
8 shared/arg.h\
9 shared/compat.h\
10 shared/config.h\
11 shared/crypt.h\
12 shared/fs.h\
13 shared/md5.h\
14 shared/queue.h\
15 shared/sha1.h\
16 shared/sha224.h\
17 shared/sha256.h\
18 shared/sha384.h\
19 shared/sha512.h\
20 shared/sha512-224.h\
21 shared/sha512-256.h\
22 shared/text.h\
23 shared/utf.h\
24 shared/util.h\
25 shared/passwd.h\
26 shared/reboot.h\
27 shared/rtc.h\
28 shared/proc.h\
29 shared/tls.h
30
31LIBUTFOBJ =\
32 shared/libutf/fgetrune.o\
33 shared/libutf/fputrune.o\
34 shared/libutf/isalnumrune.o\
35 shared/libutf/isalpharune.o\
36 shared/libutf/isblankrune.o\
37 shared/libutf/iscntrlrune.o\
38 shared/libutf/isdigitrune.o\
39 shared/libutf/isgraphrune.o\
40 shared/libutf/isprintrune.o\
41 shared/libutf/ispunctrune.o\
42 shared/libutf/isspacerune.o\
43 shared/libutf/istitlerune.o\
44 shared/libutf/isxdigitrune.o\
45 shared/libutf/lowerrune.o\
46 shared/libutf/rune.o\
47 shared/libutf/runetype.o\
48 shared/libutf/upperrune.o\
49 shared/libutf/utf.o\
50 shared/libutf/utftorunestr.o
51
52LIBUTILOBJ =\
53 shared/libutil/concat.o\
54 shared/libutil/cp.o\
55 shared/libutil/crypt.o\
56 shared/libutil/confirm.o\
57 shared/libutil/ealloc.o\
58 shared/libutil/enmasse.o\
59 shared/libutil/eprintf.o\
60 shared/libutil/eregcomp.o\
61 shared/libutil/estrtod.o\
62 shared/libutil/fnck.o\
63 shared/libutil/fshut.o\
64 shared/libutil/getlines.o\
65 shared/libutil/human.o\
66 shared/libutil/linecmp.o\
67 shared/libutil/md5.o\
68 shared/libutil/memmem.o\
69 shared/libutil/mkdirp.o\
70 shared/libutil/mode.o\
71 shared/libutil/parseoffset.o\
72 shared/libutil/putword.o\
73 shared/libutil/reallocarray.o\
74 shared/libutil/recurse.o\
75 shared/libutil/rm.o\
76 shared/libutil/sha1.o\
77 shared/libutil/sha224.o\
78 shared/libutil/sha256.o\
79 shared/libutil/sha384.o\
80 shared/libutil/sha512.o\
81 shared/libutil/sha512-224.o\
82 shared/libutil/sha512-256.o\
83 shared/libutil/strcasestr.o\
84 shared/libutil/strlcat.o\
85 shared/libutil/strlcpy.o\
86 shared/libutil/strsep.o\
87 shared/libutil/strnsubst.o\
88 shared/libutil/strtonum.o\
89 shared/libutil/writeall.o\
90 shared/libutil/unescape.o\
91 shared/libutil/agetcwd.o\
92 shared/libutil/agetline.o\
93 shared/libutil/apathmax.o\
94 shared/libutil/estrtol.o\
95 shared/libutil/estrtoul.o\
96 shared/libutil/explicit_bzero.o\
97 shared/libutil/passwd.o\
98 shared/libutil/proc.o\
99 shared/libutil/tty.o\
100 shared/libutil/fconcat.o\
101 shared/libutil/recurse_dir.o\
102 shared/libutil/sig.o\
103 shared/libutil/net.o\
104 shared/libutil/sysinfo.o\
105 shared/libutil/tls.o\
106 shared/libutil/diskutil.o
107
108LIBREDLINEOBJ =\
109 shared/libredline/redline.o
110
111LIB = shared/libredline/libredline.a shared/libutil/libutil.a shared/libutf/libutf.a
112
113POSIX_BIN_ALL =\
114 cmd/posix/basename\
115 cmd/posix/cal\
116 cmd/posix/cat\
117 cmd/posix/chgrp\
118 cmd/posix/chmod\
119 cmd/posix/chown\
120 cmd/posix/cksum\
121 cmd/posix/cmp\
122 cmd/posix/comm\
123 cmd/posix/cp\
124 cmd/posix/cut\
125 cmd/posix/date\
126 cmd/posix/dd\
127 cmd/posix/df\
128 cmd/posix/dirname\
129 cmd/posix/du\
130 cmd/posix/echo\
131 cmd/posix/ed\
132 cmd/posix/env\
133 cmd/posix/expand\
134 cmd/posix/expr\
135 cmd/posix/false\
136 cmd/posix/find\
137 cmd/posix/fold\
138 cmd/posix/getconf\
139 cmd/posix/grep\
140 cmd/posix/head\
141 cmd/posix/id\
142 cmd/posix/join\
143 cmd/posix/kill\
144 cmd/posix/link\
145 cmd/posix/ln\
146 cmd/posix/logger\
147 cmd/posix/logname\
148 cmd/posix/ls\
149 cmd/posix/mesg\
150 cmd/posix/mkdir\
151 cmd/posix/mkfifo\
152 cmd/posix/mv\
153 cmd/posix/nice\
154 cmd/posix/nl\
155 cmd/posix/nohup\
156 cmd/posix/od\
157 cmd/posix/paste\
158 cmd/posix/pathchk\
159 cmd/posix/printf\
160 cmd/posix/ps\
161 cmd/posix/pwd\
162 cmd/posix/readlink\
163 cmd/posix/renice\
164 cmd/posix/rm\
165 cmd/posix/rmdir\
166 cmd/posix/sed\
167 cmd/posix/sleep\
168 cmd/posix/sort\
169 cmd/posix/split\
170 cmd/posix/tail\
171 cmd/posix/tee\
172 cmd/posix/test\
173 cmd/posix/time\
174 cmd/posix/touch\
175 cmd/posix/tr\
176 cmd/posix/true\
177 cmd/posix/tsort\
178 cmd/posix/tty\
179 cmd/posix/uname\
180 cmd/posix/unexpand\
181 cmd/posix/uniq\
182 cmd/posix/unlink\
183 cmd/posix/uudecode\
184 cmd/posix/uuencode\
185 cmd/posix/wc\
186 cmd/posix/who\
187 cmd/posix/xargs\
188 cmd/posix/awk/awk\
189 cmd/posix/sh/sh\
190 cmd/posix/pax\
191 cmd/posix/make/make
192
193LINUX_BIN_ALL =\
194 cmd/linux/blkdiscard\
195 cmd/linux/chvt\
196 cmd/linux/ctrlaltdel\
197 cmd/linux/eject\
198 cmd/linux/freeramdisk\
199 cmd/linux/fsfreeze\
200 cmd/linux/hwclock\
201 cmd/linux/insmod\
202 cmd/linux/lsmod\
203 cmd/linux/modprobe\
204 cmd/linux/depmod\
205 cmd/linux/mkswap\
206 cmd/linux/mount\
207 cmd/linux/mountpoint\
208 cmd/linux/pivot_root\
209 cmd/linux/readahead\
210 cmd/linux/rmmod\
211 cmd/linux/swaplabel\
212 cmd/linux/swapoff\
213 cmd/linux/swapon\
214 cmd/linux/switch_root\
215 cmd/linux/tunctl\
216 cmd/linux/umount\
217 cmd/linux/unshare\
218 cmd/linux/vtallow
219
220NET_BIN_ALL =\
221 cmd/net/netcat\
222 cmd/net/tftp\
223 cmd/net/wget\
224 cmd/net/ping\
225 cmd/net/sdhcp\
226 cmd/net/ifconfig\
227 cmd/net/host\
228 cmd/net/httpd\
229 cmd/net/ip
230
231XSI_BIN_ALL =\
232 cmd/xsi/mknod\
233 cmd/xsi/passwd\
234 cmd/xsi/su
235
236PSEUDO_BIN_ALL =\
237 cmd/pseudo/chroot\
238 cmd/pseudo/clear\
239 cmd/pseudo/cols\
240 cmd/pseudo/cron\
241 cmd/pseudo/flock\
242 cmd/pseudo/getty\
243 cmd/pseudo/halt\
244 cmd/pseudo/hostname\
245 cmd/pseudo/killall5\
246 cmd/pseudo/last\
247 cmd/pseudo/lastlog\
248 cmd/pseudo/login\
249 cmd/pseudo/md5sum\
250 cmd/pseudo/mktemp\
251 cmd/pseudo/nologin\
252 cmd/pseudo/pagesize\
253 cmd/pseudo/printenv\
254 cmd/pseudo/respawn\
255 cmd/pseudo/rev\
256 cmd/pseudo/seq\
257 cmd/pseudo/setsid\
258 cmd/pseudo/sha1sum\
259 cmd/pseudo/sha224sum\
260 cmd/pseudo/sha256sum\
261 cmd/pseudo/sha384sum\
262 cmd/pseudo/sha512sum\
263 cmd/pseudo/sha512-224sum\
264 cmd/pseudo/sha512-256sum\
265 cmd/pseudo/sponge\
266 cmd/pseudo/stat\
267 cmd/pseudo/tar\
268 cmd/pseudo/truncate\
269 cmd/pseudo/watch\
270 cmd/pseudo/which\
271 cmd/pseudo/whoami\
272 cmd/pseudo/xinstall\
273 cmd/pseudo/yes\
274 cmd/pseudo/base64\
275 cmd/extra/b3sum\
276 cmd/extra/blkid\
277 cmd/extra/lsblk\
278 cmd/extra/fdisk\
279 cmd/dev/ar/ar\
280 cmd/dev/as/as\
281 cmd/dev/ld/ld\
282 cmd/dev/cc/cc\
283 cmd/pseudo/dmesg\
284 cmd/pseudo/fallocate\
285 cmd/pseudo/free\
286 cmd/pseudo/pidof\
287 cmd/pseudo/pwdx\
288 cmd/pseudo/uptime
289
290MAKEOBJ =\
291 cmd/posix/make/defaults.o\
292 cmd/posix/make/main.o\
293 cmd/posix/make/parser.o\
294 cmd/posix/make/posix.o\
295 cmd/posix/make/rules.o
296
297BIN_basename_1 = cmd/posix/basename
298BIN_cal_1 = cmd/posix/cal
299BIN_cat_1 = cmd/posix/cat
300BIN_chgrp_1 = cmd/posix/chgrp
301BIN_chmod_1 = cmd/posix/chmod
302BIN_chown_1 = cmd/posix/chown
303BIN_cksum_1 = cmd/posix/cksum
304BIN_cmp_1 = cmd/posix/cmp
305BIN_comm_1 = cmd/posix/comm
306BIN_cp_1 = cmd/posix/cp
307BIN_cut_1 = cmd/posix/cut
308BIN_date_1 = cmd/posix/date
309BIN_dd_1 = cmd/posix/dd
310BIN_df_1 = cmd/posix/df
311BIN_dirname_1 = cmd/posix/dirname
312BIN_du_1 = cmd/posix/du
313BIN_echo_1 = cmd/posix/echo
314BIN_ed_1 = cmd/posix/ed
315BIN_env_1 = cmd/posix/env
316BIN_expand_1 = cmd/posix/expand
317BIN_expr_1 = cmd/posix/expr
318BIN_false_1 = cmd/posix/false
319BIN_find_1 = cmd/posix/find
320BIN_fold_1 = cmd/posix/fold
321BIN_getconf_1 = cmd/posix/getconf
322BIN_grep_1 = cmd/posix/grep
323BIN_head_1 = cmd/posix/head
324BIN_id_1 = cmd/posix/id
325BIN_join_1 = cmd/posix/join
326BIN_kill_1 = cmd/posix/kill
327BIN_link_1 = cmd/posix/link
328BIN_ln_1 = cmd/posix/ln
329BIN_logger_1 = cmd/posix/logger
330BIN_logname_1 = cmd/posix/logname
331BIN_ls_1 = cmd/posix/ls
332BIN_mesg_1 = cmd/posix/mesg
333BIN_mkdir_1 = cmd/posix/mkdir
334BIN_mkfifo_1 = cmd/posix/mkfifo
335BIN_mv_1 = cmd/posix/mv
336BIN_nice_1 = cmd/posix/nice
337BIN_nl_1 = cmd/posix/nl
338BIN_nohup_1 = cmd/posix/nohup
339BIN_od_1 = cmd/posix/od
340BIN_paste_1 = cmd/posix/paste
341BIN_pathchk_1 = cmd/posix/pathchk
342BIN_printf_1 = cmd/posix/printf
343BIN_ps_1 = cmd/posix/ps
344BIN_pwd_1 = cmd/posix/pwd
345BIN_readlink_1 = cmd/posix/readlink
346BIN_renice_1 = cmd/posix/renice
347BIN_rm_1 = cmd/posix/rm
348BIN_rmdir_1 = cmd/posix/rmdir
349BIN_sed_1 = cmd/posix/sed
350BIN_sleep_1 = cmd/posix/sleep
351BIN_sort_1 = cmd/posix/sort
352BIN_split_1 = cmd/posix/split
353BIN_tail_1 = cmd/posix/tail
354BIN_tee_1 = cmd/posix/tee
355BIN_test_1 = cmd/posix/test
356BIN_time_1 = cmd/posix/time
357BIN_touch_1 = cmd/posix/touch
358BIN_tr_1 = cmd/posix/tr
359BIN_true_1 = cmd/posix/true
360BIN_tsort_1 = cmd/posix/tsort
361BIN_tty_1 = cmd/posix/tty
362BIN_uname_1 = cmd/posix/uname
363BIN_unexpand_1 = cmd/posix/unexpand
364BIN_uniq_1 = cmd/posix/uniq
365BIN_unlink_1 = cmd/posix/unlink
366BIN_uudecode_1 = cmd/posix/uudecode
367BIN_uuencode_1 = cmd/posix/uuencode
368BIN_wc_1 = cmd/posix/wc
369BIN_who_1 = cmd/posix/who
370BIN_xargs_1 = cmd/posix/xargs
371BIN_awk_1 = cmd/posix/awk/awk
372BIN_sh_1 = cmd/posix/sh/sh
373BIN_pax_1 = cmd/posix/pax
374BIN_make_1 = cmd/posix/make/make
375
376BIN_blkdiscard_1 = cmd/linux/blkdiscard
377BIN_chvt_1 = cmd/linux/chvt
378BIN_ctrlaltdel_1 = cmd/linux/ctrlaltdel
379BIN_eject_1 = cmd/linux/eject
380BIN_freeramdisk_1 = cmd/linux/freeramdisk
381BIN_fsfreeze_1 = cmd/linux/fsfreeze
382BIN_hwclock_1 = cmd/linux/hwclock
383BIN_insmod_1 = cmd/linux/insmod
384BIN_lsmod_1 = cmd/linux/lsmod
385BIN_modprobe_1 = cmd/linux/modprobe
386BIN_depmod_1 = cmd/linux/depmod
387BIN_mkswap_1 = cmd/linux/mkswap
388BIN_mount_1 = cmd/linux/mount
389BIN_mountpoint_1 = cmd/linux/mountpoint
390BIN_pivot_root_1 = cmd/linux/pivot_root
391BIN_readahead_1 = cmd/linux/readahead
392BIN_rmmod_1 = cmd/linux/rmmod
393BIN_swaplabel_1 = cmd/linux/swaplabel
394BIN_swapoff_1 = cmd/linux/swapoff
395BIN_swapon_1 = cmd/linux/swapon
396BIN_switch_root_1 = cmd/linux/switch_root
397BIN_tunctl_1 = cmd/linux/tunctl
398BIN_umount_1 = cmd/linux/umount
399BIN_unshare_1 = cmd/linux/unshare
400BIN_vtallow_1 = cmd/linux/vtallow
401
402BIN_netcat_1 = cmd/net/netcat
403BIN_tftp_1 = cmd/net/tftp
404BIN_wget_1 = cmd/net/wget
405BIN_ping_1 = cmd/net/ping
406BIN_sdhcp_1 = cmd/net/sdhcp
407BIN_ifconfig_1 = cmd/net/ifconfig
408BIN_host_1 = cmd/net/host
409BIN_httpd_1 = cmd/net/httpd
410BIN_ip_1 = cmd/net/ip
411
412BIN_mknod_1 = cmd/xsi/mknod
413BIN_passwd_1 = cmd/xsi/passwd
414BIN_su_1 = cmd/xsi/su
415
416BIN_chroot_1 = cmd/pseudo/chroot
417BIN_clear_1 = cmd/pseudo/clear
418BIN_cols_1 = cmd/pseudo/cols
419BIN_cron_1 = cmd/pseudo/cron
420BIN_flock_1 = cmd/pseudo/flock
421BIN_getty_1 = cmd/pseudo/getty
422BIN_halt_1 = cmd/pseudo/halt
423BIN_hostname_1 = cmd/pseudo/hostname
424BIN_killall5_1 = cmd/pseudo/killall5
425BIN_last_1 = cmd/pseudo/last
426BIN_lastlog_1 = cmd/pseudo/lastlog
427BIN_login_1 = cmd/pseudo/login
428BIN_md5sum_1 = cmd/pseudo/md5sum
429BIN_mktemp_1 = cmd/pseudo/mktemp
430BIN_nologin_1 = cmd/pseudo/nologin
431BIN_pagesize_1 = cmd/pseudo/pagesize
432BIN_printenv_1 = cmd/pseudo/printenv
433BIN_respawn_1 = cmd/pseudo/respawn
434BIN_rev_1 = cmd/pseudo/rev
435BIN_seq_1 = cmd/pseudo/seq
436BIN_setsid_1 = cmd/pseudo/setsid
437BIN_sha1sum_1 = cmd/pseudo/sha1sum
438BIN_sha224sum_1 = cmd/pseudo/sha224sum
439BIN_sha256sum_1 = cmd/pseudo/sha256sum
440BIN_sha384sum_1 = cmd/pseudo/sha384sum
441BIN_sha512sum_1 = cmd/pseudo/sha512sum
442BIN_sha512_224sum_1 = cmd/pseudo/sha512-224sum
443BIN_sha512_256sum_1 = cmd/pseudo/sha512-256sum
444BIN_sponge_1 = cmd/pseudo/sponge
445BIN_stat_1 = cmd/pseudo/stat
446BIN_tar_1 = cmd/pseudo/tar
447BIN_truncate_1 = cmd/pseudo/truncate
448BIN_watch_1 = cmd/pseudo/watch
449BIN_which_1 = cmd/pseudo/which
450BIN_whoami_1 = cmd/pseudo/whoami
451BIN_xinstall_1 = cmd/pseudo/xinstall
452BIN_yes_1 = cmd/pseudo/yes
453BIN_base64_1 = cmd/pseudo/base64
454BIN_b3sum_1 = cmd/extra/b3sum
455BIN_blkid_1 = cmd/extra/blkid
456BIN_lsblk_1 = cmd/extra/lsblk
457BIN_fdisk_1 = cmd/extra/fdisk
458BIN_ar_1 = cmd/dev/ar/ar
459BIN_as_1 = cmd/dev/as/as
460BIN_ld_1 = cmd/dev/ld/ld
461BIN_cc_1 = cmd/dev/cc/cc
462BIN_dmesg_1 = cmd/pseudo/dmesg
463BIN_fallocate_1 = cmd/pseudo/fallocate
464BIN_free_1 = cmd/pseudo/free
465BIN_pidof_1 = cmd/pseudo/pidof
466BIN_pwdx_1 = cmd/pseudo/pwdx
467BIN_uptime_1 = cmd/pseudo/uptime
468
469POSIX_BIN = \
470 $(BIN_basename_$(BUILD_POSIX_BASENAME)) \
471 $(BIN_cal_$(BUILD_POSIX_CAL)) \
472 $(BIN_cat_$(BUILD_POSIX_CAT)) \
473 $(BIN_chgrp_$(BUILD_POSIX_CHGRP)) \
474 $(BIN_chmod_$(BUILD_POSIX_CHMOD)) \
475 $(BIN_chown_$(BUILD_POSIX_CHOWN)) \
476 $(BIN_cksum_$(BUILD_POSIX_CKSUM)) \
477 $(BIN_cmp_$(BUILD_POSIX_CMP)) \
478 $(BIN_comm_$(BUILD_POSIX_COMM)) \
479 $(BIN_cp_$(BUILD_POSIX_CP)) \
480 $(BIN_cut_$(BUILD_POSIX_CUT)) \
481 $(BIN_date_$(BUILD_POSIX_DATE)) \
482 $(BIN_dd_$(BUILD_POSIX_DD)) \
483 $(BIN_df_$(BUILD_POSIX_DF)) \
484 $(BIN_dirname_$(BUILD_POSIX_DIRNAME)) \
485 $(BIN_du_$(BUILD_POSIX_DU)) \
486 $(BIN_echo_$(BUILD_POSIX_ECHO)) \
487 $(BIN_ed_$(BUILD_POSIX_ED)) \
488 $(BIN_env_$(BUILD_POSIX_ENV)) \
489 $(BIN_expand_$(BUILD_POSIX_EXPAND)) \
490 $(BIN_expr_$(BUILD_POSIX_EXPR)) \
491 $(BIN_false_$(BUILD_POSIX_FALSE)) \
492 $(BIN_find_$(BUILD_POSIX_FIND)) \
493 $(BIN_fold_$(BUILD_POSIX_FOLD)) \
494 $(BIN_getconf_$(BUILD_POSIX_GETCONF)) \
495 $(BIN_grep_$(BUILD_POSIX_GREP)) \
496 $(BIN_head_$(BUILD_POSIX_HEAD)) \
497 $(BIN_id_$(BUILD_POSIX_ID)) \
498 $(BIN_join_$(BUILD_POSIX_JOIN)) \
499 $(BIN_kill_$(BUILD_POSIX_KILL)) \
500 $(BIN_link_$(BUILD_POSIX_LINK)) \
501 $(BIN_ln_$(BUILD_POSIX_LN)) \
502 $(BIN_logger_$(BUILD_POSIX_LOGGER)) \
503 $(BIN_logname_$(BUILD_POSIX_LOGNAME)) \
504 $(BIN_ls_$(BUILD_POSIX_LS)) \
505 $(BIN_mesg_$(BUILD_POSIX_MESG)) \
506 $(BIN_mkdir_$(BUILD_POSIX_MKDIR)) \
507 $(BIN_mkfifo_$(BUILD_POSIX_MKFIFO)) \
508 $(BIN_mv_$(BUILD_POSIX_MV)) \
509 $(BIN_nice_$(BUILD_POSIX_NICE)) \
510 $(BIN_nl_$(BUILD_POSIX_NL)) \
511 $(BIN_nohup_$(BUILD_POSIX_NOHUP)) \
512 $(BIN_od_$(BUILD_POSIX_OD)) \
513 $(BIN_paste_$(BUILD_POSIX_PASTE)) \
514 $(BIN_pathchk_$(BUILD_POSIX_PATHCHK)) \
515 $(BIN_printf_$(BUILD_POSIX_PRINTF)) \
516 $(BIN_ps_$(BUILD_POSIX_PS)) \
517 $(BIN_pwd_$(BUILD_POSIX_PWD)) \
518 $(BIN_readlink_$(BUILD_POSIX_READLINK)) \
519 $(BIN_renice_$(BUILD_POSIX_RENICE)) \
520 $(BIN_rm_$(BUILD_POSIX_RM)) \
521 $(BIN_rmdir_$(BUILD_POSIX_RMDIR)) \
522 $(BIN_sed_$(BUILD_POSIX_SED)) \
523 $(BIN_sleep_$(BUILD_POSIX_SLEEP)) \
524 $(BIN_sort_$(BUILD_POSIX_SORT)) \
525 $(BIN_split_$(BUILD_POSIX_SPLIT)) \
526 $(BIN_tail_$(BUILD_POSIX_TAIL)) \
527 $(BIN_tee_$(BUILD_POSIX_TEE)) \
528 $(BIN_test_$(BUILD_POSIX_TEST)) \
529 $(BIN_time_$(BUILD_POSIX_TIME)) \
530 $(BIN_touch_$(BUILD_POSIX_TOUCH)) \
531 $(BIN_tr_$(BUILD_POSIX_TR)) \
532 $(BIN_true_$(BUILD_POSIX_TRUE)) \
533 $(BIN_tsort_$(BUILD_POSIX_TSORT)) \
534 $(BIN_tty_$(BUILD_POSIX_TTY)) \
535 $(BIN_uname_$(BUILD_POSIX_UNAME)) \
536 $(BIN_unexpand_$(BUILD_POSIX_UNEXPAND)) \
537 $(BIN_uniq_$(BUILD_POSIX_UNIQ)) \
538 $(BIN_unlink_$(BUILD_POSIX_UNLINK)) \
539 $(BIN_uudecode_$(BUILD_POSIX_UUDECODE)) \
540 $(BIN_uuencode_$(BUILD_POSIX_UUENCODE)) \
541 $(BIN_wc_$(BUILD_POSIX_WC)) \
542 $(BIN_who_$(BUILD_POSIX_WHO)) \
543 $(BIN_xargs_$(BUILD_POSIX_XARGS)) \
544 $(BIN_awk_$(BUILD_POSIX_AWK)) \
545 $(BIN_sh_$(BUILD_POSIX_SH)) \
546 $(BIN_pax_$(BUILD_POSIX_PAX)) \
547 $(BIN_make_$(BUILD_POSIX_MAKE))
548
549LINUX_BIN = \
550 $(BIN_blkdiscard_$(BUILD_LINUX_BLKDISCARD)) \
551 $(BIN_chvt_$(BUILD_LINUX_CHVT)) \
552 $(BIN_ctrlaltdel_$(BUILD_LINUX_CTRLALTDEL)) \
553 $(BIN_eject_$(BUILD_LINUX_EJECT)) \
554 $(BIN_freeramdisk_$(BUILD_LINUX_FREERAMDISK)) \
555 $(BIN_fsfreeze_$(BUILD_LINUX_FSFREEZE)) \
556 $(BIN_hwclock_$(BUILD_LINUX_HWCLOCK)) \
557 $(BIN_insmod_$(BUILD_LINUX_INSMOD)) \
558 $(BIN_lsmod_$(BUILD_LINUX_LSMOD)) \
559 $(BIN_modprobe_$(BUILD_LINUX_MODPROBE)) \
560 $(BIN_depmod_$(BUILD_LINUX_DEPMOD)) \
561 $(BIN_mkswap_$(BUILD_LINUX_MKSWAP)) \
562 $(BIN_mount_$(BUILD_LINUX_MOUNT)) \
563 $(BIN_mountpoint_$(BUILD_LINUX_MOUNTPOINT)) \
564 $(BIN_pivot_root_$(BUILD_LINUX_PIVOT_ROOT)) \
565 $(BIN_readahead_$(BUILD_LINUX_READAHEAD)) \
566 $(BIN_rmmod_$(BUILD_LINUX_RMMOD)) \
567 $(BIN_swaplabel_$(BUILD_LINUX_SWAPLABEL)) \
568 $(BIN_swapoff_$(BUILD_LINUX_SWAPOFF)) \
569 $(BIN_swapon_$(BUILD_LINUX_SWAPON)) \
570 $(BIN_switch_root_$(BUILD_LINUX_SWITCH_ROOT)) \
571 $(BIN_tunctl_$(BUILD_LINUX_TUNCTL)) \
572 $(BIN_umount_$(BUILD_LINUX_UMOUNT)) \
573 $(BIN_unshare_$(BUILD_LINUX_UNSHARE)) \
574 $(BIN_vtallow_$(BUILD_LINUX_VTALLOW))
575
576NET_BIN = \
577 $(BIN_netcat_$(BUILD_NET_NETCAT)) \
578 $(BIN_tftp_$(BUILD_NET_TFTP)) \
579 $(BIN_wget_$(BUILD_NET_WGET)) \
580 $(BIN_ping_$(BUILD_NET_PING)) \
581 $(BIN_sdhcp_$(BUILD_NET_SDHCP)) \
582 $(BIN_ifconfig_$(BUILD_NET_IFCONFIG)) \
583 $(BIN_host_$(BUILD_NET_HOST)) \
584 $(BIN_httpd_$(BUILD_NET_HTTPD)) \
585 $(BIN_ip_$(BUILD_NET_IP))
586
587XSI_BIN = \
588 $(BIN_mknod_$(BUILD_XSI_MKNOD)) \
589 $(BIN_passwd_$(BUILD_XSI_PASSWD)) \
590 $(BIN_su_$(BUILD_XSI_SU))
591
592PSEUDO_BIN = \
593 $(BIN_chroot_$(BUILD_PSEUDO_CHROOT)) \
594 $(BIN_clear_$(BUILD_PSEUDO_CLEAR)) \
595 $(BIN_cols_$(BUILD_PSEUDO_COLS)) \
596 $(BIN_cron_$(BUILD_PSEUDO_CRON)) \
597 $(BIN_flock_$(BUILD_PSEUDO_FLOCK)) \
598 $(BIN_getty_$(BUILD_PSEUDO_GETTY)) \
599 $(BIN_halt_$(BUILD_PSEUDO_HALT)) \
600 $(BIN_hostname_$(BUILD_PSEUDO_HOSTNAME)) \
601 $(BIN_killall5_$(BUILD_PSEUDO_KILLALL5)) \
602 $(BIN_last_$(BUILD_PSEUDO_LAST)) \
603 $(BIN_lastlog_$(BUILD_PSEUDO_LASTLOG)) \
604 $(BIN_login_$(BUILD_PSEUDO_LOGIN)) \
605 $(BIN_md5sum_$(BUILD_PSEUDO_MD5SUM)) \
606 $(BIN_mktemp_$(BUILD_PSEUDO_MKTEMP)) \
607 $(BIN_nologin_$(BUILD_PSEUDO_NOLOGIN)) \
608 $(BIN_pagesize_$(BUILD_PSEUDO_PAGESIZE)) \
609 $(BIN_printenv_$(BUILD_PSEUDO_PRINTENV)) \
610 $(BIN_respawn_$(BUILD_PSEUDO_RESPAWN)) \
611 $(BIN_rev_$(BUILD_PSEUDO_REV)) \
612 $(BIN_seq_$(BUILD_PSEUDO_SEQ)) \
613 $(BIN_setsid_$(BUILD_PSEUDO_SETSID)) \
614 $(BIN_sha1sum_$(BUILD_PSEUDO_SHA1SUM)) \
615 $(BIN_sha224sum_$(BUILD_PSEUDO_SHA224SUM)) \
616 $(BIN_sha256sum_$(BUILD_PSEUDO_SHA256SUM)) \
617 $(BIN_sha384sum_$(BUILD_PSEUDO_SHA384SUM)) \
618 $(BIN_sha512sum_$(BUILD_PSEUDO_SHA512SUM)) \
619 $(BIN_sha512_224sum_$(BUILD_PSEUDO_SHA512_224SUM)) \
620 $(BIN_sha512_256sum_$(BUILD_PSEUDO_SHA512_256SUM)) \
621 $(BIN_sponge_$(BUILD_PSEUDO_SPONGE)) \
622 $(BIN_stat_$(BUILD_PSEUDO_STAT)) \
623 $(BIN_tar_$(BUILD_PSEUDO_TAR)) \
624 $(BIN_truncate_$(BUILD_PSEUDO_TRUNCATE)) \
625 $(BIN_watch_$(BUILD_PSEUDO_WATCH)) \
626 $(BIN_which_$(BUILD_PSEUDO_WHICH)) \
627 $(BIN_whoami_$(BUILD_PSEUDO_WHOAMI)) \
628 $(BIN_xinstall_$(BUILD_PSEUDO_XINSTALL)) \
629 $(BIN_yes_$(BUILD_PSEUDO_YES)) \
630 $(BIN_base64_$(BUILD_PSEUDO_BASE64)) \
631 $(BIN_b3sum_$(BUILD_PSEUDO_B3SUM)) \
632 $(BIN_blkid_$(BUILD_PSEUDO_BLKID)) \
633 $(BIN_lsblk_$(BUILD_PSEUDO_LSBLK)) \
634 $(BIN_fdisk_$(BUILD_PSEUDO_FDISK)) \
635 $(BIN_ar_$(BUILD_DEV_AR)) \
636 $(BIN_as_$(BUILD_DEV_CC)) \
637 $(BIN_ld_$(BUILD_DEV_LD)) \
638 $(BIN_cc_$(BUILD_DEV_CC)) \
639 $(BIN_dmesg_$(BUILD_PSEUDO_DMESG)) \
640 $(BIN_fallocate_$(BUILD_PSEUDO_FALLOCATE)) \
641 $(BIN_free_$(BUILD_PSEUDO_FREE)) \
642 $(BIN_pidof_$(BUILD_PSEUDO_PIDOF)) \
643 $(BIN_pwdx_$(BUILD_PSEUDO_PWDX)) \
644 $(BIN_uptime_$(BUILD_PSEUDO_UPTIME))
645
646OBJ = $(LIBUTFOBJ) $(LIBUTILOBJ) $(MAKEOBJ)
647
648all: $(LIB) $(POSIX_BIN) $(LINUX_BIN) $(NET_BIN) $(XSI_BIN) $(PSEUDO_BIN)
649
650$(POSIX_BIN_ALL) $(LINUX_BIN_ALL) $(NET_BIN_ALL) $(XSI_BIN_ALL) $(PSEUDO_BIN_ALL): $(LIB)
651
652$(OBJ) $(POSIX_BIN_ALL) $(LINUX_BIN_ALL) $(NET_BIN_ALL) $(XSI_BIN_ALL) $(PSEUDO_BIN_ALL): $(HDR)
653
654.o:
655 $(CC) $(LDFLAGS) -o $@ $< $(LIB) $(LDLIBS)
656
657.c.o:
658 $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ -c $<
659
660.c:
661 $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIB) $(LDLIBS)
662
663cmd/posix/bc.c: cmd/posix/bc.y
664 $(YACC) -d -o $@ $<
665
666cmd/posix/bc: cmd/posix/bc.c
667 $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ cmd/posix/bc.c $(LIB) $(LDLIBS)
668
669$(MAKEOBJ): cmd/posix/make/make.h
670
671cmd/posix/make/make: $(MAKEOBJ) $(LIB)
672 $(CC) $(LDFLAGS) -o $@ $(MAKEOBJ) $(LIB) $(LDLIBS)
673
674shared/libutf/libutf.a: $(LIBUTFOBJ)
675 $(AR) $(ARFLAGS) $@ $?
676 $(RANLIB) $@
677
678shared/libredline/libredline.a: $(LIBREDLINEOBJ)
679 $(AR) $(ARFLAGS) $@ $?
680 $(RANLIB) $@
681
682shared/libutil/libutil.a: $(LIBUTILOBJ)
683 $(AR) $(ARFLAGS) $@ $?
684 $(RANLIB) $@
685
686cmd/posix/getconf: cmd/posix/getconf.h
687
688cmd/posix/getconf.h:
689 scripts/getconf.sh > $@ || { rm -f $@; exit 1; }
690
691box: $(LIB)
692 CC='$(CC)' CPPFLAGS='$(CPPFLAGS)' CFLAGS='$(CFLAGS)' \
693 LDFLAGS='$(LDFLAGS)' LDLIBS='$(LDLIBS)' OBJCOPY='$(OBJCOPY)' \
694 scripts/mkbox
695
696.PHONY: man clean
697
698scripts/mkman/mkman: scripts/mkman/main.go scripts/mkman/page.go scripts/mkman/parse.go scripts/mkman/mdoc.go
699 cd scripts/mkman && go build -o mkman .
700
701man: scripts/mkman/mkman
702 @for src in $(POSIX_BIN_ALL:=.c) $(PSEUDO_BIN_ALL:=.c); do \
703 if [ -f "$$src" ] && grep -qE '!man|\?man' "$$src"; then \
704 base=$$(basename $$src .c); \
705 mkdir -p man/man1; \
706 scripts/mkman/mkman -fmt mdoc -config config.mk -section 1 "$$src" > "man/man1/$$base.1"; \
707 scripts/mkman/mkman -fmt txt -config config.mk -section 1 "$$src" > "man/man1/$$base.1.txt"; \
708 fi; \
709 done
710 @for src in $(LINUX_BIN_ALL:=.c) $(NET_BIN_ALL:=.c) $(XSI_BIN_ALL:=.c); do \
711 if [ -f "$$src" ] && grep -qE '!man|\?man' "$$src"; then \
712 base=$$(basename $$src .c); \
713 mkdir -p man/man8; \
714 scripts/mkman/mkman -fmt mdoc -config config.mk -section 8 "$$src" > "man/man8/$$base.8"; \
715 scripts/mkman/mkman -fmt txt -config config.mk -section 8 "$$src" > "man/man8/$$base.8.txt"; \
716 fi; \
717 done
718
719clean:
720 rm -f shared/libutf/*.o shared/libutil/*.o shared/libredline/*.o
721 rm -f cmd/posix/*.o cmd/posix/make/*.o cmd/posix/awk/*.o cmd/posix/sh/*.o
722 rm -f cmd/linux/*.o cmd/net/*.o cmd/xsi/*.o cmd/pseudo/*.o
723 rm -f cmd/extra/*.o cmd/dev/ar/*.o cmd/dev/ld/*.o cmd/dev/cc/*.o cmd/dev/as/*.o cmd/dev/xcutil/*.o
724 rm -f $(POSIX_BIN_ALL) $(LINUX_BIN_ALL) $(NET_BIN_ALL) $(XSI_BIN_ALL) $(PSEUDO_BIN_ALL) $(LIB)
725 rm -f cmd/posix/make/make cmd/posix/getconf.h cmd/posix/bc.c
726 rm -f cmd/posix/awk/awk cmd/posix/awk/maketab cmd/posix/awk/awkgram.tab.c cmd/posix/awk/awkgram.tab.h cmd/posix/awk/proctab.c
727 rm -f cmd/posix/sh/sh cmd/posix/sh/mknodes cmd/posix/sh/mksyntax
728 rm -f cmd/posix/sh/syntax.c cmd/posix/sh/syntax.h cmd/posix/sh/nodes.c cmd/posix/sh/nodes.h cmd/posix/sh/builtins.c cmd/posix/sh/builtins.h cmd/posix/sh/token.h
729 rm -f cmd/dev/cc/cc1 cmd/dev/cc/cpp cmd/dev/as/as cmd/dev/ld/ld cmd/dev/ar/ar shared/libaruuelf.so
730 rm -f cmd/dev/config.h cmd/dev/cc/config.h cmd/dev/version.h
731 rm -rf aruu-box .box man/man1 man/man8 scripts/mkman/mkman
732
733AWKOBJ =\
734 cmd/posix/awk/b.o\
735 cmd/posix/awk/main.o\
736 cmd/posix/awk/parse.o\
737 cmd/posix/awk/proctab.o\
738 cmd/posix/awk/tran.o\
739 cmd/posix/awk/lib.o\
740 cmd/posix/awk/run.o\
741 cmd/posix/awk/lex.o\
742 cmd/posix/awk/math.o\
743 cmd/posix/awk/awkgram.tab.o
744
745SH_GENHDRS =\
746 cmd/posix/sh/syntax.h\
747 cmd/posix/sh/nodes.h\
748 cmd/posix/sh/builtins.h\
749 cmd/posix/sh/token.h
750
751SHOBJ =\
752 cmd/posix/sh/alias.o\
753 cmd/posix/sh/arith_yacc.o\
754 cmd/posix/sh/arith_yylex.o\
755 cmd/posix/sh/cd.o\
756 cmd/posix/sh/echo.o\
757 cmd/posix/sh/error.o\
758 cmd/posix/sh/eval.o\
759 cmd/posix/sh/exec.o\
760 cmd/posix/sh/expand.o\
761 cmd/posix/sh/lineedit.o\
762 cmd/posix/sh/input.o\
763 cmd/posix/sh/jobs.o\
764 cmd/posix/sh/kill.o\
765 cmd/posix/sh/mail.o\
766 cmd/posix/sh/main.o\
767 cmd/posix/sh/memalloc.o\
768 cmd/posix/sh/miscbltin.o\
769 cmd/posix/sh/mystring.o\
770 cmd/posix/sh/options.o\
771 cmd/posix/sh/output.o\
772 cmd/posix/sh/parser.o\
773 cmd/posix/sh/printf.o\
774 cmd/posix/sh/redir.o\
775 cmd/posix/sh/show.o\
776 cmd/posix/sh/test.o\
777 cmd/posix/sh/trap.o\
778 cmd/posix/sh/var.o\
779 cmd/posix/sh/builtins.o\
780 cmd/posix/sh/nodes.o\
781 cmd/posix/sh/syntax.o
782
783cmd/posix/awk/awkgram.tab.c cmd/posix/awk/awkgram.tab.h: cmd/posix/awk/awkgram.y
784 $(YACC) -d -o cmd/posix/awk/awkgram.tab.c cmd/posix/awk/awkgram.y
785 @if [ ! -f cmd/posix/awk/awkgram.tab.h ]; then \
786 if [ -f y.tab.h ]; then mv y.tab.h cmd/posix/awk/awkgram.tab.h; \
787 elif [ -f cmd/posix/awk/y.tab.h ]; then mv cmd/posix/awk/y.tab.h cmd/posix/awk/awkgram.tab.h; fi; \
788 fi
789
790cmd/posix/awk/maketab: cmd/posix/awk/maketab.c cmd/posix/awk/awkgram.tab.h
791 $(CC) $(CFLAGS) -o $@ cmd/posix/awk/maketab.c
792
793cmd/posix/awk/proctab.c: cmd/posix/awk/maketab
794 cmd/posix/awk/maketab cmd/posix/awk/awkgram.tab.h > $@
795
796$(AWKOBJ): cmd/posix/awk/awk.h cmd/posix/awk/awkgram.tab.h cmd/posix/awk/proto.h
797
798cmd/posix/awk/%.o: cmd/posix/awk/%.c
799 $(CC) $(CPPFLAGS) -Icmd/posix/awk $(CFLAGS) -o $@ -c $<
800
801cmd/posix/awk/awk: $(AWKOBJ) $(LIB)
802 $(CC) $(LDFLAGS) -o $@ $(AWKOBJ) $(LIB) $(LDLIBS) -lm
803
804cmd/posix/sh/mknodes: cmd/posix/sh/mknodes.c
805 $(CC) $(CFLAGS) -o $@ cmd/posix/sh/mknodes.c
806
807cmd/posix/sh/mksyntax: cmd/posix/sh/mksyntax.c
808 $(CC) $(CPPFLAGS) -Icmd/posix/sh $(CFLAGS) -o $@ cmd/posix/sh/mksyntax.c
809
810cmd/posix/sh/syntax.c cmd/posix/sh/syntax.h: cmd/posix/sh/mksyntax
811 cd cmd/posix/sh && ./mksyntax
812
813cmd/posix/sh/nodes.c cmd/posix/sh/nodes.h: cmd/posix/sh/mknodes cmd/posix/sh/nodetypes cmd/posix/sh/nodes.c.pat
814 cd cmd/posix/sh && ./mknodes nodetypes nodes.c.pat
815
816cmd/posix/sh/builtins.c cmd/posix/sh/builtins.h: cmd/posix/sh/mkbuiltins cmd/posix/sh/builtins.def cmd/posix/sh/shell.h
817 cd cmd/posix/sh && sh mkbuiltins .
818
819cmd/posix/sh/token.h: cmd/posix/sh/mktokens
820 cd cmd/posix/sh && sh mktokens
821
822$(SHOBJ): $(SH_GENHDRS)
823
824cmd/posix/sh/%.o: cmd/posix/sh/%.c
825 $(CC) $(CPPFLAGS) -DSHELL -Icmd/posix/sh $(CFLAGS) -o $@ -c $<
826
827cmd/posix/sh/sh: $(SHOBJ) $(LIB)
828 $(CC) $(LDFLAGS) -o $@ $(SHOBJ) $(LIB) $(LDLIBS)
829
830cmd/net/wget: cmd/net/wget.o $(LIB)
831 $(CC) $(LDFLAGS) -o $@ cmd/net/wget.o $(LIB) $(LDLIBS) $(LDLIBS_TLS)
832
833cmd/dev/ar/ar: cmd/dev/ar/ar.o $(LIB)
834 $(CC) $(LDFLAGS) -o $@ cmd/dev/ar/ar.o $(LIB) $(LDLIBS)
835
836cmd/dev/ar/%.o: cmd/dev/ar/%.c
837 $(CC) $(CPPFLAGS) -Icmd/dev/ar $(CFLAGS) -o $@ -c $<
838
839cmd/dev/xcutil/%.o: cmd/dev/xcutil/%.c
840 $(CC) -Icmd/dev/xcutil $(CPPFLAGS) $(CFLAGS) -o $@ -c $<
841
842LD_OBJ =\
843 cmd/dev/xcutil/util.o\
844 cmd/dev/xcutil/table.o\
845 cmd/dev/xcutil/elfutil.o\
846 cmd/dev/xcutil/archive.o\
847 cmd/dev/ld/ld.o\
848 cmd/dev/ld/elfobj.o
849
850cmd/dev/ld/%.o: cmd/dev/ld/%.c
851 $(CC) -Icmd/dev/xcutil -Icmd/dev/ld $(CPPFLAGS) $(CFLAGS) -o $@ -c $<
852
853cmd/dev/ld/ld: $(LD_OBJ) $(LIB)
854 $(CC) $(LDFLAGS) -o $@ $(LD_OBJ) $(LIB) $(LDLIBS)
855
856AS_OBJ =\
857 cmd/dev/xcutil/util.o\
858 cmd/dev/xcutil/table.o\
859 cmd/dev/xcutil/elfutil.o\
860 cmd/dev/xcutil/archive.o\
861 cmd/dev/as/as.o\
862 cmd/dev/as/as_util.o\
863 cmd/dev/as/emit_elf.o\
864 cmd/dev/as/emit_macho.o\
865 cmd/dev/as/ir_asm.o\
866 cmd/dev/as/parse_asm.o\
867 cmd/dev/as/arch/x64/asm_code.o\
868 cmd/dev/as/arch/x64/ir_asm_x64.o\
869 cmd/dev/as/arch/x64/parse_x64.o
870
871# headers shared across the assembler sources. listing them as prerequisites
872# of every .o stops stale objects when a header changes (inst.h, parse_asm.h),
873# which otherwise produced silently-wrong builds
874AS_HDRS =\
875 cmd/dev/as/parse_asm.h\
876 cmd/dev/as/ir_asm.h\
877 cmd/dev/as/as_util.h\
878 cmd/dev/as/asm_code.h\
879 cmd/dev/as/arch/x64/inst.h
880
881cmd/dev/as/%.o: cmd/dev/as/%.c $(AS_HDRS) cmd/dev/config.h
882 $(CC) -Icmd/dev/xcutil -Icmd/dev/as $(CPPFLAGS) $(CFLAGS) -o $@ -c $<
883
884cmd/dev/as/arch/x64/%.o: cmd/dev/as/arch/x64/%.c $(AS_HDRS) cmd/dev/config.h
885 $(CC) -Icmd/dev/xcutil -Icmd/dev/as -Icmd/dev/as/arch/x64 $(CPPFLAGS) $(CFLAGS) -o $@ -c $<
886
887cmd/dev/as/as: $(AS_OBJ) $(LIB)
888 $(CC) $(LDFLAGS) -o $@ $(AS_OBJ) $(LIB) $(LDLIBS)
889
890cmd/dev/cc/driver.o: cmd/dev/cc/driver.c cmd/dev/cc/config.h
891 $(CC) -Icmd/dev/cc $(CPPFLAGS) $(CFLAGS) -o $@ -c $<
892
893cmd/dev/cc/cc: cmd/dev/cc/driver.o cmd/dev/cc/util.o $(LIB) cmd/dev/cc/cc1 cmd/dev/cc/cpp cmd/dev/as/as cmd/dev/ld/ld
894 $(CC) $(LDFLAGS) -o $@ cmd/dev/cc/driver.o cmd/dev/cc/util.o $(LIB) $(LDLIBS)
895
896CC1_OBJ =\
897 cmd/dev/cc/attr.o\
898 cmd/dev/cc/decl.o\
899 cmd/dev/cc/eval.o\
900 cmd/dev/cc/expr.o\
901 cmd/dev/cc/init.o\
902 cmd/dev/cc/cc1.o\
903 cmd/dev/cc/map.o\
904 cmd/dev/cc/pp.o\
905 cmd/dev/cc/qbe.o\
906 cmd/dev/cc/scan.o\
907 cmd/dev/cc/scope.o\
908 cmd/dev/cc/stmt.o\
909 cmd/dev/cc/targ.o\
910 cmd/dev/cc/token.o\
911 cmd/dev/cc/tree.o\
912 cmd/dev/cc/type.o\
913 cmd/dev/cc/utf.o\
914 cmd/dev/cc/util.o
915
916CPP_OBJ =\
917 cmd/dev/cc/attr.o\
918 cmd/dev/cc/decl.o\
919 cmd/dev/cc/eval.o\
920 cmd/dev/cc/expr.o\
921 cmd/dev/cc/init.o\
922 cmd/dev/cc/map.o\
923 cmd/dev/cc/pp.o\
924 cmd/dev/cc/qbe.o\
925 cmd/dev/cc/scan.o\
926 cmd/dev/cc/scope.o\
927 cmd/dev/cc/stmt.o\
928 cmd/dev/cc/targ.o\
929 cmd/dev/cc/token.o\
930 cmd/dev/cc/tree.o\
931 cmd/dev/cc/type.o\
932 cmd/dev/cc/utf.o\
933 cmd/dev/cc/util.o
934
935cmd/dev/cc/%.o: cmd/dev/cc/%.c
936 $(CC) -Icmd/dev/cc $(CPPFLAGS) $(CFLAGS) -o $@ -c $<
937
938cmd/dev/cc/cc1: $(CC1_OBJ) $(LIB)
939 $(CC) $(LDFLAGS) -o $@ $(CC1_OBJ) $(LIB) $(LDLIBS)
940
941cmd/dev/cc/cpp: cmd/dev/cc/cpp.o $(CPP_OBJ) $(LIB)
942 $(CC) $(LDFLAGS) -o $@ cmd/dev/cc/cpp.o $(CPP_OBJ) $(LIB) $(LDLIBS)
943
944cmd/dev/config.h cmd/dev/cc/config.h cmd/dev/version.h: cmd/dev/configure
945 sh cmd/dev/configure
946
947$(AS_OBJ) $(LD_OBJ) $(CC1_OBJ) $(CPP_OBJ) cmd/dev/ar/ar.o cmd/dev/cc/cpp.o: cmd/dev/config.h