Xinu7/src/lib/standalone/Makefile.RAW

#
#  Make the standalone startup routine
#

AR	=	/bin/ar
DIR	=	{Xinu-directory}
CC	=	$(DIR)/bin/cc11
CFLAGS	=	-c -O
LD	=	$(DIR)/bin/ld11
LIBDIR	=	$(DIR)/lib/standalone
LORDER	=	/usr/bin/lorder
RANLIB	=	$(DIR)/bin/ranlib11
DLOADER	=	$(DIR)/bin/download

SFILES	=	aldiv.s almul.s alrem.s cerror.s csv.s \
		ldiv.s lmul.s lrem.s lowcore.s startup.s

CFILES	=	printf.c sprintf.c

OFILES	=	aldiv.o almul.o alrem.o cerror.o csv.o \
		ldiv.o lmul.o lrem.o printf.o sprintf.o

all:		libsa.a startup.o nullcore.o lowcore.o

install:	all
		cp libsa.a startup.o lowcore.o nullcore.o $(LIBDIR)
		$(RANLIB) $(LIBDIR)/libsa.a

clean:
		rm -rf *.o *.a a.out core

libsa.a:	$(OFILES)
		rm -rf libsa.a
		$(AR) cr libsa.a $(OFILES)
		$(RANLIB) libsa.a

startup.o:	startup.s
		$(CC) -c startup.s

lowcore.o:	lowcore.s
		$(CC) -c lowcore.s

nullcore.o:	nullcore.s
		$(CC) -c nullcore.s

demo:		a.out
		$(DLOADER) -s a.out
		@echo demo has been downloaded -- try it

demo.o:		demo.c
		$(CC) $(CFLAGS) demo.c

a.out:		demo.o lowcore.o startup.o libsa.a nullcore.o
#		Order is quite important in the following load
#		Choose between lowcore and nullcore (see README)
		$(LD) -e start lowcore.o startup.o demo.o libsa.a

sprintf.o:	sprintf.c
		$(CC) $(CFLAGS) sprintf.c

printf.o:	printf.c
		$(CC) $(CFLAGS) printf.c

aldiv.o:	aldiv.s
		$(CC) -c aldiv.s

almul.o:	almul.s
		$(CC) -c almul.s

alrem.o:	alrem.s
		$(CC) -c alrem.s

cerror.o:	cerror.s
		$(CC) -c cerror.s

csv.o:		csv.s
		$(CC) -c csv.s

ldiv.o:		ldiv.s
		$(CC) -c ldiv.s

lmul.o:		lmul.s
		$(CC) -c lmul.s

lrem.o:		lrem.s
		$(CC) -c lrem.s