#################################################################
#			    CURSES				#
# Makefile to generate libcurses.a              		#
# for MINIX Version 1.5						#
#								#
# This makefile will generate required subdirectories		#
# 								#
#################################################################
# 1.0:	Release:					870515	#
#################################################################
O = .s
# The following are the directories where your lib and include files
# will be installed
# Define the source files
COBJS =\
	attrib$(O)   beep$(O)     boxes$(O)    charadd$(O) \
	chardel$(O)  charget$(O)  charins$(O)  charpick$(O) \
	clrtobot$(O) clrtoeol$(O) endwin$(O)   initscr$(O) \
	linedel$(O)  lineins$(O)  longname$(O) move$(O) \
	mvcursor$(O) newwin$(O)   options$(O)  overlay$(O) \
	prntscan$(O) refresh$(O)  scrreg$(O)   setterm$(O) \
	stradd$(O)   strget$(O)   termmisc$(O) tabsize$(O) \
	unctrl$(O)   update$(O)   winclear$(O) windel$(O) \
	winerase$(O) winmove$(O)  winscrol$(O) wintouch$(O)

ASMOBJS=	cursesio$(O)

OBJS=		$(COBJS) $(ASMOBJS)

# Common Include files.
HDR = /usr/include/curses.h curspriv.h

# Define the TARGET we are making, and where the OBJECT files go.
OBJDIR := objects
TARGET  = libcurses.a
CFLAGS = -DMINIX -LIB

# Set the .SOURCE targets so that we look for things in the right place.
.SOURCE.c :^ .NULL
.SOURCE.h :^ .NULL
.SOURCE$O :^ $(OBJDIR)

# The main target, make sure the objects directory exists first.
# LDARGS is defined in config.mk file of each OS/OSRELEASE combination.
all : $(TARGET) demo;

$(TARGET) : $(OBJS)
	-lorder $(OBJS) > /tmp/l.out
	tsort < /tmp/l.out > /tmp/t.out
	ar ruv $@ `cat /tmp/t.out`
	rm /tmp/*.out
	cp libcurses.a /usr/lib
	rm -f *.s

attrib$(O):	attrib.c /usr/include/curses.h curspriv.h

beep$(O):	beep.c /usr/include/curses.h curspriv.h

boxes$(O):	boxes.c /usr/include/curses.h curspriv.h

charadd$(O):	charadd.c /usr/include/curses.h curspriv.h

chardel$(O):	chardel.c /usr/include/curses.h curspriv.h

charget$(O):	charget.c /usr/include/curses.h curspriv.h

charins$(O):	charins.c /usr/include/curses.h curspriv.h

charpick$(O):	charpick.c /usr/include/curses.h curspriv.h

clrtobot$(O):	clrtobot.c /usr/include/curses.h curspriv.h

clrtoeol$(O):	clrtoeol.c /usr/include/curses.h curspriv.h

endwin$(O):	endwin.c /usr/include/curses.h curspriv.h

initscr$(O):	initscr.c /usr/include/curses.h curspriv.h

linedel$(O):	linedel.c /usr/include/curses.h curspriv.h

lineins$(O):	lineins.c /usr/include/curses.h curspriv.h

longname$(O):	longname.c /usr/include/curses.h curspriv.h

move$(O):	move.c /usr/include/curses.h curspriv.h

mvcursor$(O):	mvcursor.c /usr/include/curses.h curspriv.h

newwin$(O):	newwin.c /usr/include/curses.h curspriv.h

options$(O):	options.c /usr/include/curses.h curspriv.h

overlay$(O):	overlay.c /usr/include/curses.h curspriv.h

prntscan$(O):	prntscan.c /usr/include/curses.h curspriv.h

refresh$(O):	refresh.c /usr/include/curses.h curspriv.h

scrreg$(O):	scrreg.c /usr/include/curses.h curspriv.h

setterm$(O):	setterm.c /usr/include/curses.h curspriv.h

stradd$(O):	stradd.c /usr/include/curses.h curspriv.h

strget$(O):	strget.c /usr/include/curses.h curspriv.h

tabsize$(O):	tabsize.c /usr/include/curses.h curspriv.h

termmisc$(O):	termmisc.c /usr/include/curses.h curspriv.h

unctrl$(O):	unctrl.c /usr/include/curses.h curspriv.h

update$(O):	update.c /usr/include/curses.h curspriv.h

winclear$(O):	winclear.c /usr/include/curses.h curspriv.h

windel$(O):	windel.c /usr/include/curses.h curspriv.h

winerase$(O):	winerase.c /usr/include/curses.h curspriv.h

winmove$(O):	winmove.c /usr/include/curses.h curspriv.h

winscrol$(O):	winscrol.c /usr/include/curses.h curspriv.h

wintouch$(O):	wintouch.c /usr/include/curses.h curspriv.h

cursesio$(O):	cursesio.c /usr/include/curses.h curspriv.h

demo$(O):	demo.c

demo:		demo.c
		$(CC) -o $@ demo.c -lcurses
		demo
