ultradefrag/src/udefrag.win

118 lines
3.0 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 .java .s .o .l .map
# cancel implicit rule for building .c from .l (lex file) :
%.c : %.l
# cancel implicit rule for building . 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
LIB=/shared/c-src/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
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
LIBS=console.lib zenwinx1.lib zenwinx2.lib zenwinx3.lib udefrag.lib wincalls.lib
.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 : udefrag.exe
console.lib :
cd console; make -f console.win console.lib
udefrag.lib :
cd dll/udefrag; make -f udefrag.win udefrag.lib
zenwinx.lib zenwinx1.lib zenwinx2.lib zenwinx3.lib :
cd dll/zenwinx; make -f zenwinx.win zenwinx.lib
wincalls.lib :
cd wincalls; make -f wincalls.win wincalls.lib
clean :
cd console; make -f console.win clean
cd dll/udefrag; make -f udefrag.win clean
cd dll/zenwinx; make -f zenwinx.win clean
cd wincalls; make -f wincalls.win clean
#udefrag.exe : $(LIBS)
# $(LMX) $(OLIB) console/defrag.o, udefrag.exe, udefrag.exe.map\\/map, \
# console/console.lib dll/udefrag/udefrag.lib dll/zenwinx/zenwinx.lib wincalls/wincalls.lib \
# $(LIB)/lmlib.lib $(ILIB) $(LIB)/import32.lib,
# chmod 755 udefrag.exe
udefrag.exe : $(LIBS)
$(LMX) $(OLIB) console/defrag.o, udefrag.exe, udefrag.exe.map\\/map, \
console/console.lib \
dll/udefrag/udefrag.lib dll/zenwinx/zenwinx.lib \
wincalls/wincalls.lib \
$(LIB)/curses.lib \
$(LIB)/lmlib.lib $(ILIB) $(LIB)/import32.lib,
chmod 755 udefrag.exe