# --------------------------------------------------------------------------- # Copyright 1995-1996 by Morten Welinder (terra@diku.dk) # Distributed under the GPL, see COPYING for details. # --------------------------------------------------------------------------- ASM16 = djasm CFLAGS = -DDEBUG -O2 -Wall LIBDIR = ../lib INCFILES = \ cleanup.inc \ cpu.inc \ debug.inc \ defines.inc \ dos.inc \ ems-vcpi.inc \ error.inc \ exeparam.inc \ gdt.inc \ highdata.inc \ hook-int.inc \ low-data.inc \ memory.inc \ movego32.inc \ page-dir.inc \ real-15.inc \ real-2f.inc \ resident.inc \ sw-raw.inc \ sw-vcpi.inc \ unload.inc \ warphigh.inc \ xms.inc ASMFILES = \ dpmi.asm CFILES = \ callback.c \ clients.c \ cmdline.c \ globals.c \ ldt.c \ main.c \ memory.c \ prot-31.c \ serv-int.c \ sprintf.c \ write.c HFILES = \ clients.h \ code32.h \ cpu.h \ dpmi.h \ interface.h \ ldt.h SFILES = \ interrupt.S \ misc.S MISCFILES = \ COPYING \ DOC \ Makefile \ README \ defines.sed \ link.scr .SUFFIXES: .dis .o.dis: objdump --disassemble $< > $@ %.o : %.S ${CC} -c -o $@ $< # --------------------------------------------------------------------------- all: dpmi.exe dpmi.exe dpmi.map: dpmi.asm $(INCFILES) code32.o $(ASM16) dpmi.asm dpmi.exe dpmi.map # cp dpmi.exe c:/ code32.o: $(CFILES:.c=.o) $(SFILES:.S=.o) link.scr ld -o $@ -r -Tlink.scr -L${LIBDIR} $+ -lc # It would be nice to run the link command through "gcc", but gcc does # too many things we don't want: sector alignment, .exe file, more? defines.h: defines.inc defines.sed sed -f defines.sed defines.inc > $@ # zip (pkzip) is too stupid to take long arguments in a reasonable format # so we have to do it the simple way. server.zip: clean rm -f server.zip zip server ${ASMFILES} ${MISCFILES} zip server *.c *.inc *.s *.h # --------------------------------------------------------------------------- # pseudo-targets. (See also "all:" above) clean: rm -f dpmi.exe dpmi.map code32.o defines.h rm -f $(CFILES:.c=.o) rm -f $(SFILES:.S=.o) *.dis distclean: clean rm -f *~ tags TAGS: ${CFILES} ${HFILES} ${INCFILES} ${SFILES} ${ASMFILES} etags --language=c ${CFILES} ${HFILES} \ --language=asm ${INCFILES} ${SFILES} ${ASMFILES} zip: server.zip # ----------------------------------------------------------------------------- BASIC = code32.h interface.h defines.h cpu.h callback.o: ${BASIC} clients.h dpmi.h ldt.h clients.o: ${BASIC} clients.h dpmi.h ldt.h cmdline.o: ${BASIC} globals.o: interface.h cpu.h interrupt.o: defines.h ldt.o: ${BASIC} ldt.h clients.h main.o: ${BASIC} clients.h memory.o: ${BASIC} prot-31.o: ${BASIC} clients.h dpmi.h ldt.h serv-int.o: ${BASIC} sprintf.o: ${BASIC} write.o: ${BASIC}