include ../user/Makefile.inc

LIB64	= ../lib/pekoe64.a
CRT64	= ../lib/crt64.o
LIB32	= ../lib/pekoe32.a
CRT32	= ../lib/crt32.o
CFINCLUDE	= -I../include

.cpp.o:
	$(CC) $(CF64) $(CFBASE) $(CFINCLUDE) $*.cpp

all: cmd.t

clean:
	-rm -f *.o *.elf *.com *.tek *.exe *.ld *.t 


cmd.t: cmd32.com cmd.com
	touch cmd.t

cmd32.o: cmd.cpp cmd.o
	$(CC) $(CF32) $(CFBASE) $(CFINCLUDE) -o cmd32.o cmd.cpp

cmd32.com: cmd32.o $(STD32) $(CRT32)
	$(LD) $(LF32) $(LFBASE) -o cmd32.ld cmd32.o $(CRT32) $(LIB32)
	$(OBJCOPY) -O elf32-i386 cmd32.ld cmd32.elf
	$(ELF2COM) cmd32.elf cmd32.exe
	$(BIM2BIN) -osacmp -tek1 BS:0 in:cmd32.exe out:cmd32.tek
	$(BINDCOM) tek ../tools/sfx32.bin cmd32.tek cmd32.com

cmd.com: cmd.o $(STD32) $(CRT32)
	$(LD) $(LF64) $(LFBASE) -o cmd.elf cmd.o $(CRT64) $(LIB64)
	$(ELF2COM) cmd.elf cmd.exe
	$(BIM2BIN) -osacmp -tek1 BS:0 in:cmd.exe out:cmd.tek
	$(BINDCOM) tek ../tools/sfx64.bin cmd.tek cmd.com

cmd.o: cmd.cpp ../include/stdio.h ../include/pekoe.h \
  ../include/sys/types.h ../include/sys/dos.h ../include/sys/leafapi.h \
  ../include/stdarg.h ../include/fcntl.h ../include/sys/errno.h \
  ../include/string.h ../include/types.h
