#
# /emx/src/lib/emx/makefile
#
.INCLUDE: /emx/src/lib/lib0.mak

.PHONY: clean default dstlib emx emx2 emxio emxmt emxst

.SOURCE.c: ..
.SOURCE.h: ..
.SOURCE.s: ..

LIBEMXST = $(L)emxst.a
LIBEMXMT = $(L)emxmt.a
LIBEMX2  = $(L)emx2.a
LIBEMXIO = $(L)emxio.a

DSTLIB=$(L)$(LIBNAME).a
LIBC_CCFLAGS=-I..

default:    emx

emx .SEQUENTIAL: emx2 emxst emxmt emxio

emx2: $(LIBEMX2)

emxio: $(LIBEMXIO)

emxmt .SETDIR=mt:
	$(MAKE) -f ../makefile dstlib LIBNAME=emxmt MT_CCFLAGS=-D__MT__

emxst .SETDIR=st:
	$(MAKE) -f ../makefile dstlib LIBNAME=emxst MT_CCFLAGS=

dstlib: $(DSTLIB)

clean:
	-del mt\*.o $(DELOPT)
	-del st\*.o $(DELOPT)

alarm.o: alarm.s syscalls.h
brk.o: brk.s syscalls.h
cgets.o: cgets.s syscalls.h
chdir.o: chdir.s syscalls.h
chmod.o: chmod.s syscalls.h
chdrive.o: chdrive.s syscalls.h
chsize.o: chsize.s syscalls.h
clock.o: clock.s syscalls.h
close.o: close.s syscalls.h
core.o: core.s syscalls.h
dup.o: dup.s syscalls.h
dup2.o: dup2.s syscalls.h
endthrea.o: endthrea.s syscalls.h
execname.o: execname.s syscalls.h
exit.o: exit.s syscalls.h
fcntl.o: fcntl.s syscalls.h
filesys.o: filesys.s syscalls.h
findfirs.o: findfirs.s syscalls.h
findnext.o: findnext.s syscalls.h
fork.o: fork.s syscalls.h
fstat.o: fstat.s syscalls.h
fsync.o: fsync.s syscalls.h
ftime.o: ftime.s syscalls.h
ftruncat.o: ftruncat.s syscalls.h
getcwd.o: getcwd.s syscalls.h
getdrive.o: getdrive.s syscalls.h
getpid.o: getpid.s syscalls.h
getppid.o: getppid.s syscalls.h
initthre.o: initthre.s syscalls.h
ioctl1.o: ioctl1.s syscalls.h
ioctl2.o: ioctl2.s syscalls.h
kill.o: kill.s syscalls.h
lseek.o: lseek.s syscalls.h
memacces.o: memacces.s syscalls.h
memavail.o: memavail.s syscalls.h
mkdir.o: mkdir.s syscalls.h
newthrea.o: newthrea.s syscalls.h
nls_memu.o: nls_memu.s syscalls.h
open.o: open.s syscalls.h
pause.o: pause.s syscalls.h
pipe.o: pipe.s syscalls.h
portacce.o: portacce.s syscalls.h
ptrace.o: ptrace.s syscalls.h
raise.o: raise.s syscalls.h
read.o: read.s syscalls.h
read_kbd.o: read_kbd.s syscalls.h
remove.o: remove.s syscalls.h
rename.o: rename.s syscalls.h
rmdir.o: rmdir.s syscalls.h
sbrk.o: sbrk.s syscalls.h
scrsize.o: scrsize.s syscalls.h
select.o: select.s syscalls.h
signal.o: signal.s syscalls.h
sleep.o: sleep.s syscalls.h
sleep2.o: sleep2.s syscalls.h
spawnve.o: spawnve.s syscalls.h
stat.o: stat.s syscalls.h
swchar.o: swchar.s syscalls.h
syserrno.o: syserrno.s syscalls.h
uflags.o: uflags.s syscalls.h
ulimit.o: ulimit.s syscalls.h
umask.o: umask.s syscalls.h
unwind.o: unwind.s syscalls.h
utimes.o: utimes.s syscalls.h
os_ver.o: os_ver.s syscalls.h
emx_ver.o: emx_ver.s syscalls.h
write.o: write.s syscalls.h
wait.o: wait.s syscalls.h
waitpid.o: waitpid.s syscalls.h

$(DSTLIB):  alarm.o cgets.o chdir.o chmod.o chdrive.o chsize.o \
    clock.o close.o core.o dup.o dup2.o fcntl.o filesys.o brk.o endthrea.o \
    findfirs.o findnext.o fork.o fstat.o fsync.o newthrea.o \
    ftime.o ftruncat.o getcwd.o getdrive.o getpid.o getppid.o initthre.o \
    ioctl1.o ioctl2.o kill.o lseek.o memacces.o memavail.o \
    mkdir.o nls_memu.o open.o pause.o pipe.o portacce.o ptrace.o \
    raise.o read.o read_kbd.o remove.o rename.o rmdir.o sbrk.o \
    scrsize.o select.o signal.o sleep.o sleep2.o spawnve.o stat.o \
    swchar.o syserrno.o uflags.o ulimit.o umask.o unwind.o \
    utimes.o write.o wait.o waitpid.o exit.o os_ver.o emx_ver.o execname.o
	-del $(DSTLIB)
	$(AR) r $(DSTLIB) *.o
	$(AR) s $(DSTLIB)

$(LIBEMX2): emx.imp
	emximp -o $(LIBEMX2) emx.imp

$(LIBEMXIO): emxio.imp
	emximp -o $(LIBEMXIO) emxio.imp

$(LIBCDLL)emx2.s:  alarm.s brk.s cgets.s chdir.s chdrive.s chmod.s chsize.s \
    clock.s close.s core.s dup.s dup2.s emx_ver.s execname.s exit.s fcntl.s \
    filesys.s findfirs.s findnext.s fork.s fstat.s fsync.s ftime.s \
    ftruncat.s getcwd.s getdrive.s getpid.s getppid.s initthre.s ioctl1.s \
    ioctl2.s kill.s lseek.s memacces.s memavail.s mkdir.s nls_memu.s \
    open.s os_ver.s pause.s pipe.s portacce.s ptrace.s raise.s read.s \
    read_kbd.s remove.s rename.s rmdir.s sbrk.s scrsize.s select.s \
    signal.s sleep.s sleep2.s spawnve.s stat.s swchar.s syserrno.s uflags.s \
    ulimit.s umask.s unwind.s utimes.s wait.s waitpid.s write.s newthrea.s \
    endthrea.s
	emxcat -o $(LIBCDLL)emx2.s *.s

libcdll: $(LIBCDLL)emx2.s
