M3OPTIONS=
EXTRALIBS=-lm
ASFLAGS=-s -P
RANLIB=touch


all: boot packages

exportall: boot exportpackages

packages:
	boot-SOLgnu/m3build/SOLgnu/m3build -T ../m3config/src -DBOOTSTRAP=TRUE ${M3OPTIONS}

exportpackages:
	boot-SOLgnu/m3build/SOLgnu/m3build -T ../m3config/src -DBOOTSTRAP=TRUE ${M3OPTIONS} -DEXPORTRPATH=binaries/SOLgnu

clean: pkg-clean boot-clean

pkg-clean:
	boot-SOLgnu/m3build/SOLgnu/m3build -T ../m3config/src -DBOOTSTRAP=TRUE -DCLEAN_ALL ${M3OPTIONS}

nothing:

boot:
	cd boot-SOLgnu/m3core/SOLgnu; ${MAKE} -f make.boot "CC=${CC}" "CFLAGS=${CFLAGS}" "AS=${AS}" "ASFLAGS=${ASFLAGS}" "AR=${AR}" "ARFLAGS=${ARFLAGS}" "RANLIB=${RANLIB}" "EXTRALIBS=${EXTRALIBS}" "LDFLAGS=${LDFLAGS}"
	cd boot-SOLgnu/libm3/SOLgnu; ${MAKE} -f make.boot "CC=${CC}" "CFLAGS=${CFLAGS}" "AS=${AS}" "ASFLAGS=${ASFLAGS}" "AR=${AR}" "ARFLAGS=${ARFLAGS}" "RANLIB=${RANLIB}" "EXTRALIBS=${EXTRALIBS}" "LDFLAGS=${LDFLAGS}"
	cd boot-SOLgnu/m3middle/SOLgnu; ${MAKE} -f make.boot "CC=${CC}" "CFLAGS=${CFLAGS}" "AS=${AS}" "ASFLAGS=${ASFLAGS}" "AR=${AR}" "ARFLAGS=${ARFLAGS}" "RANLIB=${RANLIB}" "EXTRALIBS=${EXTRALIBS}" "LDFLAGS=${LDFLAGS}"
	cd boot-SOLgnu/m3front/SOLgnu; ${MAKE} -f make.boot "CC=${CC}" "CFLAGS=${CFLAGS}" "AS=${AS}" "ASFLAGS=${ASFLAGS}" "AR=${AR}" "ARFLAGS=${ARFLAGS}" "RANLIB=${RANLIB}" "EXTRALIBS=${EXTRALIBS}" "LDFLAGS=${LDFLAGS}"
	cd boot-SOLgnu/m3linker/SOLgnu; ${MAKE} -f make.boot "CC=${CC}" "CFLAGS=${CFLAGS}" "AS=${AS}" "ASFLAGS=${ASFLAGS}" "AR=${AR}" "ARFLAGS=${ARFLAGS}" "RANLIB=${RANLIB}" "EXTRALIBS=${EXTRALIBS}" "LDFLAGS=${LDFLAGS}"
	cd boot-SOLgnu/m3driver/SOLgnu; ${MAKE} -f make.boot "CC=${CC}" "CFLAGS=${CFLAGS}" "AS=${AS}" "ASFLAGS=${ASFLAGS}" "AR=${AR}" "ARFLAGS=${ARFLAGS}" "RANLIB=${RANLIB}" "EXTRALIBS=${EXTRALIBS}" "LDFLAGS=${LDFLAGS}"
	cd boot-SOLgnu/m3quake/SOLgnu; ${MAKE} -f make.boot "CC=${CC}" "CFLAGS=${CFLAGS}" "AS=${AS}" "ASFLAGS=${ASFLAGS}" "AR=${AR}" "ARFLAGS=${ARFLAGS}" "RANLIB=${RANLIB}" "EXTRALIBS=${EXTRALIBS}" "LDFLAGS=${LDFLAGS}"
	cd boot-SOLgnu/m3templates/SOLgnu; ${MAKE} -f make.boot "CC=${CC}" "CFLAGS=${CFLAGS}" "AS=${AS}" "ASFLAGS=${ASFLAGS}" "AR=${AR}" "ARFLAGS=${ARFLAGS}" "RANLIB=${RANLIB}" "EXTRALIBS=${EXTRALIBS}" "LDFLAGS=${LDFLAGS}"
	cd boot-SOLgnu/m3config/SOLgnu; ${MAKE} -f make.boot "CC=${CC}" "CFLAGS=${CFLAGS}" "AS=${AS}" "ASFLAGS=${ASFLAGS}" "AR=${AR}" "ARFLAGS=${ARFLAGS}" "RANLIB=${RANLIB}" "EXTRALIBS=${EXTRALIBS}" "LDFLAGS=${LDFLAGS}"
	cd boot-SOLgnu/m3build/SOLgnu; ${MAKE} -f make.boot "CC=${CC}" "CFLAGS=${CFLAGS}" "AS=${AS}" "ASFLAGS=${ASFLAGS}" "AR=${AR}" "ARFLAGS=${ARFLAGS}" "RANLIB=${RANLIB}" "EXTRALIBS=${EXTRALIBS}" "LDFLAGS=${LDFLAGS}"
	cd boot-SOLgnu/m3ship/SOLgnu; ${MAKE} -f make.boot "CC=${CC}" "CFLAGS=${CFLAGS}" "AS=${AS}" "ASFLAGS=${ASFLAGS}" "AR=${AR}" "ARFLAGS=${ARFLAGS}" "RANLIB=${RANLIB}" "EXTRALIBS=${EXTRALIBS}" "LDFLAGS=${LDFLAGS}"

boot-clean:
	cd boot-SOLgnu/m3core/SOLgnu; ${MAKE} -f make.boot clean "CC=${CC}" "CFLAGS=${CFLAGS}" "AS=${AS}" "ASFLAGS=${ASFLAGS}" "AR=${AR}" "ARFLAGS=${ARFLAGS}" "RANLIB=${RANLIB}" "EXTRALIBS=${EXTRALIBS}" "LDFLAGS=${LDFLAGS}"
	cd boot-SOLgnu/libm3/SOLgnu; ${MAKE} -f make.boot clean "CC=${CC}" "CFLAGS=${CFLAGS}" "AS=${AS}" "ASFLAGS=${ASFLAGS}" "AR=${AR}" "ARFLAGS=${ARFLAGS}" "RANLIB=${RANLIB}" "EXTRALIBS=${EXTRALIBS}" "LDFLAGS=${LDFLAGS}"
	cd boot-SOLgnu/m3middle/SOLgnu; ${MAKE} -f make.boot clean "CC=${CC}" "CFLAGS=${CFLAGS}" "AS=${AS}" "ASFLAGS=${ASFLAGS}" "AR=${AR}" "ARFLAGS=${ARFLAGS}" "RANLIB=${RANLIB}" "EXTRALIBS=${EXTRALIBS}" "LDFLAGS=${LDFLAGS}"
	cd boot-SOLgnu/m3front/SOLgnu; ${MAKE} -f make.boot clean "CC=${CC}" "CFLAGS=${CFLAGS}" "AS=${AS}" "ASFLAGS=${ASFLAGS}" "AR=${AR}" "ARFLAGS=${ARFLAGS}" "RANLIB=${RANLIB}" "EXTRALIBS=${EXTRALIBS}" "LDFLAGS=${LDFLAGS}"
	cd boot-SOLgnu/m3linker/SOLgnu; ${MAKE} -f make.boot clean "CC=${CC}" "CFLAGS=${CFLAGS}" "AS=${AS}" "ASFLAGS=${ASFLAGS}" "AR=${AR}" "ARFLAGS=${ARFLAGS}" "RANLIB=${RANLIB}" "EXTRALIBS=${EXTRALIBS}" "LDFLAGS=${LDFLAGS}"
	cd boot-SOLgnu/m3driver/SOLgnu; ${MAKE} -f make.boot clean "CC=${CC}" "CFLAGS=${CFLAGS}" "AS=${AS}" "ASFLAGS=${ASFLAGS}" "AR=${AR}" "ARFLAGS=${ARFLAGS}" "RANLIB=${RANLIB}" "EXTRALIBS=${EXTRALIBS}" "LDFLAGS=${LDFLAGS}"
	cd boot-SOLgnu/m3quake/SOLgnu; ${MAKE} -f make.boot clean "CC=${CC}" "CFLAGS=${CFLAGS}" "AS=${AS}" "ASFLAGS=${ASFLAGS}" "AR=${AR}" "ARFLAGS=${ARFLAGS}" "RANLIB=${RANLIB}" "EXTRALIBS=${EXTRALIBS}" "LDFLAGS=${LDFLAGS}"
	cd boot-SOLgnu/m3templates/SOLgnu; ${MAKE} -f make.boot clean "CC=${CC}" "CFLAGS=${CFLAGS}" "AS=${AS}" "ASFLAGS=${ASFLAGS}" "AR=${AR}" "ARFLAGS=${ARFLAGS}" "RANLIB=${RANLIB}" "EXTRALIBS=${EXTRALIBS}" "LDFLAGS=${LDFLAGS}"
	cd boot-SOLgnu/m3config/SOLgnu; ${MAKE} -f make.boot clean "CC=${CC}" "CFLAGS=${CFLAGS}" "AS=${AS}" "ASFLAGS=${ASFLAGS}" "AR=${AR}" "ARFLAGS=${ARFLAGS}" "RANLIB=${RANLIB}" "EXTRALIBS=${EXTRALIBS}" "LDFLAGS=${LDFLAGS}"
	cd boot-SOLgnu/m3build/SOLgnu; ${MAKE} -f make.boot clean "CC=${CC}" "CFLAGS=${CFLAGS}" "AS=${AS}" "ASFLAGS=${ASFLAGS}" "AR=${AR}" "ARFLAGS=${ARFLAGS}" "RANLIB=${RANLIB}" "EXTRALIBS=${EXTRALIBS}" "LDFLAGS=${LDFLAGS}"
	cd boot-SOLgnu/m3ship/SOLgnu; ${MAKE} -f make.boot clean "CC=${CC}" "CFLAGS=${CFLAGS}" "AS=${AS}" "ASFLAGS=${ASFLAGS}" "AR=${AR}" "ARFLAGS=${ARFLAGS}" "RANLIB=${RANLIB}" "EXTRALIBS=${EXTRALIBS}" "LDFLAGS=${LDFLAGS}"
