summaryrefslogtreecommitdiff
path: root/sys/src/cmd/mklib
blob: c5fb3a127d6552c9676c356f3a198aa53d5989c1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
AFLAGS=
YFLAGS=-d

LIBOBJ=${OFILES:%=$LIB(%)}
LIBDIR=.

default:V:	$LIB

all:V:	$LIB

$LIB:	$LIBOBJ
	ar vu $LIB $newmember

%.$O:	$HFILES		# don't combine with following %.$O rules

%.$O:	%.c
	$CC $CFLAGS $stem.c

%.$O:	%.s
	$AS $AFLAGS $stem.s

y.tab.h y.tab.c:	$YFILES
	yacc $YFLAGS $prereq

$LIB(%.$O):N:	%.$O

install:VQ:	$LIB
	~ $LIBDIR '.' || cp $LIB $LIBDIR/$LIB

installall:V:
	for (objtype in $CPUS)
		mk install

%.all:V:
	for (objtype in $CPUS)
		mk $stem

nuke:V:
	rm -f *.[$OS] y.tab.? y.output y.error $CLEANFILES $LIB

clean:V:
	rm -f *.[$OS] *.a[$OS] y.tab.? y.output y.error $CLEANFILES

%.acid:V:
	$CC $CFLAGS -a `{basename $stem .$objtype}^.c >$target

update:V:
	update $UPDATEFLAGS $UPDATE

test:VQ: $LIB
	if(test -d ./test)
		cd test && mk $MKFLAGS test
	if not
		status=()