# makefile	James M Synge	26-May-1987
#
# Used to build the shared library (task.library) and the
# interface library (task.lib).  Note that the shared
# library is like a complete program in that it is linked,
# while the interface library is just an object file which
# can be included on some other programs linkage line.
#
# Example: ln prog.o -ltask -lc
#
# This example places task.lib earlier in the link than
# c.lib.  Therefore, any routine in task.lib of the same
# name as a routine in c.lib will be loaded instead of the
# routine in c.lib.  This is useful because it allows us to
# replace any routine in c.lib.
#
# Note that these FLAGS macros are only used for making the
# shared library, not the test program nor the interface
# library.

CFLAGS = +BCDLP
AFLAGS = -CD

LIBOBJ = LibHead.o Library.o Task_Routines.o \
	 FunctionList.o Interface.o

ALL =	LibHead.asm Library.c ExtLibrary.h Task_Routines.c FunctionList.c \
	Interface.asm Protect.i 2tasks.c task_lib.asm Makefile

all:	task.library task.lib 2Tasks

task.library : $(LIBOBJ)
	ln -o task.library $(LIBOBJ) -lcl32
#	You may wish to add a command like this:
#	copy task.library LIBS:

LibHead.o : LibHead.asm

Interface.o : Interface.asm Protect.i

Library.o : ExtLibrary.h

task.lib : task_lib.asm
	as $(AFLAGS) -o task.lib task_lib.asm
#	You may wish to add a command which moves the file
#	to the directory where you keep c.lib, etc.

2Tasks	: 2Tasks.o task.lib
	ln 2Tasks.o -ltask -lc

2Tasks.o : 2Tasks.c
	cc 2Tasks.c

ram:sharfile : $(ALL)
	shar > ram:sharfile -vc $(ALL)
