               CC = 		gcc -fwritable-strings
  STD_CPP_DEFINES = -traditional -D_BSD_SOURCE -D_GNU_SOURCE -Dlinux
#      STD_DEFINES = -D_POSIX_SOURCE
    PROTO_DEFINES = -DFUNCPROTO=11 -DNARROWPROTO

      PROJECTROOT = 	/usr/X386

     TOP_INCLUDES = -I$(INCROOT)

      CDEBUGFLAGS = -O2
#LIBSTART=0x10000000
LIBSTART=0x20000000

ifdef CHSYS
	LIBPATH=\"/lib/libxdosemu_ch\"
else
	LIBPATH=\"/lib/libxdosemu\"
	CHSYS=0
endif

MAX_XMS = 1024
#MAX_XMS = 1024 
FLOPPY_A=2
FLOPPY_B=5
FLOPPY_CONFIG = -DFLOPPY_A=$(FLOPPY_A) -DFLOPPY_B=$(FLOPPY_B) \
		-DEXTRA_FLOPPY=$(EXTRA_FLOPPY)
DEF_FDISKS = 2
DEF_HDISKS = 2
NUM_DISKS = -DDEF_FDISKS=$(DEF_FDISKS) -DDEF_HDISKS=$(DEF_HDISKS)
DISKS     = $(NUM_DISKS) $(FLOPPY_CONFIG)

VERSION = 0.4a

      ALLINCLUDES = $(INCLUDES) $(EXTRA_INCLUDES) $(TOP_INCLUDES) $(STD_INCLUDES)
       ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(EXTRA_DEFINES) $(PROTO_DEFINES) $(DEFINES)
           CFLAGS = $(ANSICCOPTIONS) $(CDEBUGFLAGS) $(CCOPTIONS) $(ALLDEFINES) \
		 	-DMAX_XMS=$(MAX_XMS) -DXMS $(DISKS)	-Dlinux \
			-DLIBSTART=$(LIBSTART) -DCHSYS=$(CHSYS) \
			-DVERSION=\"$(VERSION)\"

        USRLIBDIR = 	/usr/X386/lib
           BINDIR = 	/usr/X386/bin
          INCROOT = 	/usr/X386/include
     BUILDINCROOT = $(TOP)
      BUILDINCDIR = $(BUILDINCROOT)/X11
      BUILDINCTOP = ..
           INCDIR = $(INCROOT)/X11
           LIBDIR = $(USRLIBDIR)/X11
        CONFIGDIR = $(LIBDIR)/config

           OBJS = emu.o cmos.o timers.o xms.o dbg.o  xinit.o xmouse.o \
		 input.o charproc.o cursor.o util.o screen.o scrollbar.o \
		button.o misc.o data.o menu.o mfs.o dosio.o bios_emm.o

       PROGRAMS = xdos libxdosemu /lib/libxdosemu
       PROGCHSYS = xdos_ch libxdosemu_ch /lib/libxdosemu_ch
       DEPLIBS1 = $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXLIB)
       DEPLIBS2 =

all: $(PROGRAMS)

chsys: $(PROGCHSYS)

emu.o::	emu.c emu.h timers.h xmouse.h
xmouse.o:: xmouse.h
timers.o:: timers.h 

/lib/libxdosemu:
	ln -sf $(PWD)/libxdosemu /lib/libxdosemu
/lib/libxdosemu_ch:
	ln -sf $(PWD)/libxdosemu_ch /lib/libxdosemu_ch

#libxdosemu: $(OBJS) Makefile
#	ld -T $(LIBSTART) -o libxdosemu $(OBJS) \
#	-lXaw -lXmu -lXt -lX11 \
#	-lc -lgcc

libxdosemu: $(OBJS) Makefile
	ld -T $(LIBSTART) -o $@ $(OBJS) \
	/usr/lib/libXaw.a /usr/lib/libXmu.a /usr/lib/libXt.a /usr/lib/libX11.a \
	-lc -lgcc

libxdosemu_ch: $(OBJS) Makefile
	ld -T $(LIBSTART) -o $@ $(OBJS) \
	/usr/lib/libXaw.a /usr/lib/libXmu.a /usr/lib/libXt.a /usr/lib/libX11.a \
	-lc -lgcc

xdos:	xdos.c
	$(CC) -N -o $@ -DLIBPATH=$(LIBPATH) -DLIBSTART=$(LIBSTART)  $<

xdos_ch:	xdos.c
	$(CC) -N -o $@ -DLIBPATH=$(LIBPATH) -DLIBSTART=$(LIBSTART)  $<

vga12x24:
	$(CC) et2bdf.c -o et2bdf
	./et2bdf
	compress vga12x24.pcf

clean:
	rm -f *.o

dist_dir=../uu/xdos$(VERSION)
dist:
	cp -p Makefile *.[ch] xd.* README.* install.font vga.pcf.Z makechsys \
		$(dist_dir)
	cp ../uu/hdimage $(dist_dir)
	cd ../uu; tar cvfz xdos$(VERSION).tgz xdos$(VERSION)

charproc.o::	menu.h ptyx.h
menu.o::	menu.h ptyx.h
misc.o::	menu.h ptyx.h
scrollbar.o::	menu.h ptyx.h
util.o::	menu.h ptyx.h
xinit.o::	menu.h ptyx.h
input.o::	ptyx.h
cursor.o::	ptyx.h
screen.o::	ptyx.h
scrollbar.o::	ptyx.h
