# GNU tar for DOS and OS/2 - makefile for dmake or nmake

CFLAGS=	-AS -W1 -Zep1 -J -G2s -Oiltn -Idiskacc -D__STDC__=1
LIB=	c:\ms\lib

OBJ1= tar.obj create.obj diffarch.obj extract.obj list.obj update.obj
OBJ2= port.obj buffer.obj names.obj wildmat.obj getopt.obj getopt1.obj
OBJ3= getoldop.obj getdate.obj version.obj gnu.obj
OBJ4= cwild.obj glob.obj disktape.obj dir_os2.obj isfat.obj dosname.obj

.SUFFIXES: .obj .c .y

.y.obj:
	bison -o $*.c $<
	cl -c -nologo $(CFLAGS) $<

.c.obj:
	cl -c -nologo $(CFLAGS) $<

all:	tar.exe diskacc.dll

tar.exe: taros2.exe diskapi.lib tar.bad
	$(SHELL) /c copy taros2.exe $@
	bind $@ diskapi.lib $(LIB)\api.lib $(LIB)\doscalls.lib -n @tar.bad

taros2.exe: $(OBJ1) $(OBJ2) $(OBJ3) $(OBJP) diskacc.lib
	echo $(OBJ1)+ >link.os2
	echo $(OBJ2)+ >>link.os2
	echo $(OBJ3)+ >>link.os2
	echo $(OBJ4)+ >>link.os2
	echo $(LIB)\setargv.obj >>link.os2
	echo $@ /bat /noig /noe /st:0x4000 >>link.os2
	echo nul >>link.os2
	echo slibcep.lib /nodef:slibce.lib diskacc.lib >>link.os2
	echo tar.def >>link.os2
	link @link.os2

tar.obj:	tar.h dir.h
create.obj:	tar.h dir.h port.h
diffarch.obj:	tar.h port.h rmt.h
extract.obj:	tar.h open3.h port.h
list.obj:	tar.h port.h
update.obj:	tar.h port.h rmt.h
port.obj:	tar.h open3.h port.h
buffer.obj:	tar.h port.h rmt.h
names.obj:	tar.h
gnu.obj:	tar.h
dir_os2.obj:	dir.h
disktape.obj:   diskacc\diskacc.h

diskacc.dll: diskacc.obj diskacc\diskacc.def
	link diskacc.obj /noig /noe /nodef, $@, nul,\
	llibcdll.lib doscalls.lib, diskacc\diskacc.def;

diskacc.lib: diskacc\diskacc.def
	implib $@ diskacc\diskacc.def

diskapi.lib: diskapi.obj diskint.obj
	lib $@ -+diskapi -+diskint;

diskacc.obj: diskacc\diskacc.c diskacc\diskacc.h
	cl -c -nologo -AL -Au -W3 -Zep1 -J -G2s -Oiltn diskacc\diskacc.c

diskapi.obj: diskacc\diskapi.c diskacc\diskacc.h
	cl -c -nologo -AS -W3 -Zep1 -J -G2s -Oiltn diskacc\diskapi.c

diskint.obj: diskacc\diskint.asm
	masm -W2 -Ml -X -t diskacc\diskint.asm;
