xref: /inferno-os/mkfile (revision ab3b8ccceed41ccadd4607ac0fdd7ceae29e1233)
146439007SCharles.Forsyth# Directories common to all architectures.
246439007SCharles.Forsyth# Build in order:
346439007SCharles.Forsyth#	- critical libraries used by the limbo compiler
446439007SCharles.Forsyth#	- the limbo compiler (used to build some subsequent libraries)
546439007SCharles.Forsyth#	- the remaining libraries
646439007SCharles.Forsyth#	- commands
746439007SCharles.Forsyth#	- utilities
846439007SCharles.Forsyth
946439007SCharles.ForsythEMUDIRS=\
1046439007SCharles.Forsyth	lib9\
1146439007SCharles.Forsyth	libbio\
1246439007SCharles.Forsyth	libmp\
1346439007SCharles.Forsyth	libsec\
1446439007SCharles.Forsyth	libmath\
1518eb7a2dSCharles.Forsyth	utils/iyacc\
1646439007SCharles.Forsyth	limbo\
1746439007SCharles.Forsyth	libinterp\
184491bf45SCharles.Forsyth	libkeyring\
1946439007SCharles.Forsyth	libdraw\
2046439007SCharles.Forsyth	libprefab\
2146439007SCharles.Forsyth	libtk\
2246439007SCharles.Forsyth	libfreetype\
2346439007SCharles.Forsyth	libmemdraw\
2446439007SCharles.Forsyth	libmemlayer\
2546439007SCharles.Forsyth	libdynld\
2646439007SCharles.Forsyth	utils/data2c\
2746439007SCharles.Forsyth	utils/ndate\
2846439007SCharles.Forsyth	emu\
2946439007SCharles.Forsyth
3046439007SCharles.ForsythKERNEL_DIRS=\
3146439007SCharles.Forsyth	os\
3246439007SCharles.Forsyth	os/boot/pc\
3346439007SCharles.Forsyth
3446439007SCharles.Forsyth# mkconfig is included at this point to allow it to override
3546439007SCharles.Forsyth#the preceding declarations (particularly KERNEL_DIRS) if need be
3646439007SCharles.Forsyth
3746439007SCharles.Forsyth<mkconfig
3846439007SCharles.Forsyth
3946439007SCharles.ForsythDIRS=\
4046439007SCharles.Forsyth	$EMUDIRS\
41*ab3b8cccSCharles Forsyth#	appl\
4246439007SCharles.Forsyth
4346439007SCharles.Forsythfoo:QV:
4446439007SCharles.Forsyth	echo mk all, clean, install, installall or nuke
4546439007SCharles.Forsyth
4646439007SCharles.Forsythall:V:		all-$HOSTMODEL
4746439007SCharles.Forsythclean:V:	clean-$HOSTMODEL
4846439007SCharles.Forsythinstall:V:	install-$HOSTMODEL
4946439007SCharles.Forsythinstallall:V:	installall-$HOSTMODEL
5046439007SCharles.Forsythemu:V:	emu/all-$HOSTMODEL
5146439007SCharles.Forsythemuinstall:V:	emu/install-$HOSTMODEL
5246439007SCharles.Forsythemuclean:V:	emu/clean-$HOSTMODEL
5346439007SCharles.Forsythemunuke:V:	emu/nuke-$HOSTMODEL
5446439007SCharles.Forsythkernel:V:	kernel/all-$HOSTMODEL
5546439007SCharles.Forsythkernelall:V:	kernel/all-$HOSTMODEL
5646439007SCharles.Forsythkernelclean:V:	kernel/clean-$HOSTMODEL
5746439007SCharles.Forsythkernelinstall:V:	kernel/install-$HOSTMODEL
5846439007SCharles.Forsythkernelinstallall:V:	kernel/installall-$HOSTMODEL
5946439007SCharles.Forsythkernelnuke:V:	kernel/nuke-$HOSTMODEL
6046439007SCharles.Forsythnuke:V:		nuke-$HOSTMODEL
6146439007SCharles.Forsyth
6246439007SCharles.Forsythcleandist:V: clean
6346439007SCharles.Forsyth	rm -f $ROOT/$OBJDIR/lib/lib*.a
6446439007SCharles.Forsyth
6546439007SCharles.Forsythnukedist:V: nuke
6646439007SCharles.Forsyth	rm -f $ROOT/$OBJDIR/bin/*.exe
6746439007SCharles.Forsyth	rm -f $ROOT/$OBJDIR/lib/lib*.a
6846439007SCharles.Forsyth
6946439007SCharles.Forsyth&-Posix:QV:
7046439007SCharles.Forsyth	for j in $DIRS utils tools
7146439007SCharles.Forsyth	do
7246439007SCharles.Forsyth		echo "(cd $j; mk $MKFLAGS $stem)"
736e425a9dSCharles.Forsyth		(cd $j; mk $MKFLAGS $stem) || exit 1
7446439007SCharles.Forsyth	done
7546439007SCharles.Forsyth
7646439007SCharles.Forsyth&-Nt:QV:
7746439007SCharles.Forsyth	for (j in $DIRS utils tools)
7846439007SCharles.Forsyth	{
7946439007SCharles.Forsyth		echo '@{builtin cd' $j '; mk $MKFLAGS $stem}'
8046439007SCharles.Forsyth		@{builtin cd $j; mk.exe $MKFLAGS $stem }
8146439007SCharles.Forsyth	}
8246439007SCharles.Forsyth
8346439007SCharles.Forsyth&-Inferno:QV:
8446439007SCharles.Forsyth	for (j in $DIRS utils)
8546439007SCharles.Forsyth	{
8646439007SCharles.Forsyth		echo '@{builtin cd' $j '; mk $MKFLAGS $stem}'
8746439007SCharles.Forsyth		@{builtin cd $j; mk $MKFLAGS $stem }
8846439007SCharles.Forsyth	}
8946439007SCharles.Forsyth
9046439007SCharles.Forsyth&-Plan9:QV:
9146439007SCharles.Forsyth	for (j in $DIRS utils)
9246439007SCharles.Forsyth	{
9346439007SCharles.Forsyth		echo '@{builtin cd' $j '; mk $MKFLAGS $stem}'
9446439007SCharles.Forsyth		@{builtin cd $j; mk $MKFLAGS $stem }
9546439007SCharles.Forsyth	}
9646439007SCharles.Forsyth
9746439007SCharles.Forsythemu/&-Posix:QV:
9846439007SCharles.Forsyth	for j in $EMUDIRS
9946439007SCharles.Forsyth	do
10046439007SCharles.Forsyth		echo "(cd $j; mk $MKFLAGS $stem)"
1016e425a9dSCharles.Forsyth		(cd $j; mk $MKFLAGS $stem) || exit 1
10246439007SCharles.Forsyth	done
10346439007SCharles.Forsyth
10446439007SCharles.Forsythemu/&-Nt:QV:
10546439007SCharles.Forsyth	for (j in $EMUDIRS)
10646439007SCharles.Forsyth	{
10746439007SCharles.Forsyth		echo '@{builtin cd' $j '; mk $MKFLAGS $stem}'
10846439007SCharles.Forsyth		@{builtin cd $j; mk $MKFLAGS $stem }
10946439007SCharles.Forsyth	}
11046439007SCharles.Forsyth
11146439007SCharles.Forsythemu/&-Plan9:QV:
11246439007SCharles.Forsyth	for (j in $EMUDIRS)
11346439007SCharles.Forsyth	{
11446439007SCharles.Forsyth		echo '@{builtin cd' $j '; mk $MKFLAGS $stem}'
11546439007SCharles.Forsyth		@{builtin cd $j; mk $MKFLAGS $stem }
11646439007SCharles.Forsyth	}
11746439007SCharles.Forsyth
11846439007SCharles.Forsythkernel/&-Posix:QV:
11946439007SCharles.Forsyth	for j in $KERNEL_DIRS
12046439007SCharles.Forsyth	do
12146439007SCharles.Forsyth		echo "(cd $j; mk $MKFLAGS $stem)"
1226e425a9dSCharles.Forsyth		(cd $j; mk $MKFLAGS $stem) || exit 1
12346439007SCharles.Forsyth	done
12446439007SCharles.Forsyth
12546439007SCharles.Forsythkernel/&-Nt:QV:
12646439007SCharles.Forsyth	for (j in $KERNEL_DIRS)
12746439007SCharles.Forsyth	{
12846439007SCharles.Forsyth		echo '@{builtin cd' $j '; mk $MKFLAGS $stem}'
12946439007SCharles.Forsyth		@{builtin cd $j; mk $MKFLAGS $stem }
13046439007SCharles.Forsyth	}
13146439007SCharles.Forsyth
13246439007SCharles.Forsythkernel/&-Inferno:QV:
13346439007SCharles.Forsyth	for (j in $KERNEL_DIRS)
13446439007SCharles.Forsyth	{
13546439007SCharles.Forsyth		echo '@{builtin cd' $j '; mk $MKFLAGS $stem}'
13646439007SCharles.Forsyth		@{builtin cd $j; mk $MKFLAGS $stem }
13746439007SCharles.Forsyth	}
13846439007SCharles.Forsyth
13946439007SCharles.Forsythkernel/&-Plan9:QV:
14046439007SCharles.Forsyth	for (j in $KERNEL_DIRS)
14146439007SCharles.Forsyth	{
14246439007SCharles.Forsyth		echo '@{builtin cd' $j '; mk $MKFLAGS $stem}'
14346439007SCharles.Forsyth		@{builtin cd $j; mk $MKFLAGS $stem }
14446439007SCharles.Forsyth	}
14546439007SCharles.Forsyth
14646439007SCharles.Forsyth# Convenience targets
14746439007SCharles.Forsyth
14846439007SCharles.ForsythInferno-% inferno-% Inferno-386-% inferno-386-%:V:
14946439007SCharles.Forsyth	mk 'SYSHOST=Inferno' 'OBJTYPE=386' $stem
15046439007SCharles.Forsyth
15146439007SCharles.ForsythInferno-arm-% inferno-arm-%:V:
15246439007SCharles.Forsyth	mk 'SYSHOST=Inferno' 'OBJTYPE=arm' $stem
15346439007SCharles.Forsyth
15446439007SCharles.ForsythPlan9-% plan9-%:V:
15546439007SCharles.Forsyth	mk 'SYSHOST=Plan9' 'OBJTYPE=386' $stem
15646439007SCharles.Forsyth
15746439007SCharles.ForsythIrix-% irix-%:V:
15846439007SCharles.Forsyth	mk 'SYSHOST=Irix' 'OBJTYPE=mips' $stem
15946439007SCharles.Forsyth
16046439007SCharles.ForsythLinux-% linux-%:V:
16146439007SCharles.Forsyth	mk 'SYSHOST=Linux' 'OBJTYPE=386' $stem
16246439007SCharles.Forsyth
16346439007SCharles.ForsythNetBSD-% netbsd-%:V:
16446439007SCharles.Forsyth	mk 'SYSHOST=NetBSD' 'OBJTYPE=386' $stem
16546439007SCharles.Forsyth
16646439007SCharles.ForsythNt-% nt-% Win95-% win95-%:V:
16746439007SCharles.Forsyth	mk 'SYSHOST=Nt' 'OBJTYPE=386' $stem
16846439007SCharles.Forsyth
16946439007SCharles.ForsythSolaris-% solaris-%:V:
17046439007SCharles.Forsyth	mk 'SYSHOST=Solaris' 'OBJTYPE=sparc' $stem
1719bca6be9Sforsyth
1729bca6be9Sforsythmkdirs:V:	mkdirs-$SHELLTYPE
1739bca6be9Sforsyth
1749bca6be9Sforsythmkdirs-rc:V:
1759bca6be9Sforsyth	mkdir -p `{cat lib/emptydirs}
1769bca6be9Sforsyth	chmod 555 mnt/* n/client/* n/*
1779bca6be9Sforsyth
1789bca6be9Sforsythmkdirs-sh:V:
1799bca6be9Sforsyth	mkdir -p `cat lib/emptydirs`
1809bca6be9Sforsyth	chmod 555 mnt/* n/client/* n/*
1819bca6be9Sforsyth
182ac8b4d5fSforsythmkdirs-nt:V:
1839f9e2f38SJesse Rudolph	mkdir -p `{cmd /c type lib\emptydirs}
184