ultradefrag/src/wincalls/wincalls.win

102 lines
2.3 KiB
Plaintext

#
# Plain general makefile, for ultradefrag compilations
# Host Linux, target Windows 32-bit
#
# restrict suffixes list to the ones we define
.SUFFIXES :
# this list controls the ordering of rule evaluation
.SUFFIXES : .c .cpp .asm .o .O .l .obj .exe . .dll .map
# cancel implicit rule for building .c from .l (lex file) :
%.c : %.l
# cancel implicit rule for building target from .c
% : %.c
# cancel implicit rule for building . from .s
% : %.s
HCC=runwin $(WINROOT)/bin/hcc86
TOP=runwin $(WINROOT)/bin/top86
ASM=runwin $(WINROOT)/bin/asm86
LMX=runwin $(WINROOT)/bin/lmx
WLIB=runwin $(WINROOT)/bin/wlib
LIB=/shared/c-src/sozobon/lib
# use of Borland library
#INCL=-I/shared/c-src/include
#DEFS=-D_RTLDLL;WNSC
#PDEFS=-D_RTLDLL;WNBC=1
#OLIB=/shared/c-src/lib/c0x32.obj
#DLIB=/shared/c-src/lib/c0d32.obj
#ILIB=/shared/c-src/lib/cw32i.lib
# use of Microsoft library
INCL=-I/shared/c-src/msvcrt -I/shared/c-src/include -I../include -I../share
DEFS="-D_RTLDLL;WNSC"
PDEFS="-D_RTLDLL;WNBC=1"
OLIB=/shared/c-src/msvcrt/c0ms.obj
DLIB=/shared/c-src/msvcrt/c0msd.obj
ILIB=/shared/c-src/msvcrt/msvcrt.lib
O=windows.o curses.o
H=../include/compiler.h \
../dll/zenwinx/ntndk.h ../dll/zenwinx/ntfs.h ../dll/zenwinx/zenwinx.h
# 32-bit mode (Sozobon C)
.c.asm :
$(HCC) -A16S $(DEFS) $(INCL) $*.c > $*.asm
.asm.o :
$(ASM) -lk3 -o$*.o $*.asm
.c.o :
$(HCC) -A16S $(DEFS) $(INCL) $*.c | $(TOP) - $*.o
# not optimized and no-pipe (so usable under ms-dos)
.c.O :
$(HCC) -A16S -DWNSC $(INCL) $*.c > $*.asm
$(ASM) -k3 -o$*.o $*.asm
rm $*.asm
.c.l :
$(HCC) -A16S $(DEFS) $(INCL) $*.c | $(TOP) -lv - $*.o > $*.l
# not optimized and no-pipe (so usable under ms-dos)
.c.L :
$(HCC) -A16S $(DEFS) $(INCL) $*.c > $*.asm
$(ASM) -lk3 -o$*.o $*.asm
rm $*.asm
.o. .o :
$(LMX) $(OLIB) $*.o, $*., $*, $(LIB)/lmlib.lib $(ILIB) $(LIB)/import32.lib,
chmod 755 $*
.o.exe :
$(LMX) $(OLIB) $*.o, $*.exe, $*, $(LIB)/lmlib.lib $(ILIB) $(LIB)/import32.lib,
chmod 755 $*.exe
.o.map :
$(LMX) $(OLIB) $*.o, $*., $*\\/map, $(LIB)/lmlib.lib $(ILIB) $(LIB)/import32.lib,
chmod 755 $*
.o.dll :
$(LMX) $(DLIB) $*.o, $*.dll, $*\\/dll\\/map, $(LIB)/lmlib.lib $(ILIB) $(LIB)/import32.lib,
all : wincalls.lib
wincalls.lib : $(O)
rm -f wincalls.lib
$(WLIB) -r wincalls.lib $(O)
clean :
rm -f $(O)
rm -f *.s *.asm *.l *.map
windows.o : $(H) windows.c
curses.o : $(H) curses.c