143 lines
3.3 KiB
Makefile
143 lines
3.3 KiB
Makefile
#===================================================================
|
|
#
|
|
# DDE manager DLL make file
|
|
#
|
|
#===================================================================
|
|
# International mods
|
|
# NOTE: INTL_SRC, INTL_EXE and LANG are macros set by international
|
|
|
|
WINLIB=..\lib
|
|
IMPLIB=..\..\tools16\implib
|
|
INCLUDE=-I..\inc -I..\..\inc
|
|
MAPSYM=..\..\tools16\mapsym
|
|
MKPUBLIC=..\..\tools16\mkpublic
|
|
ASM=..\..\tools16\masm
|
|
CC=..\..\tools16\cl16
|
|
RC=..\..\tools16\rc16 $(INCLUDE)
|
|
LINK=..\..\tools16\link16
|
|
|
|
# work around stupid bug in RC 3.1 that doesn't allow rcpp.err to be
|
|
# in a directory that is greater than 128 chars down the path, even if
|
|
# rc 3.1 is running as an OS/2 app.
|
|
|
|
PATH=..\..\tools16;$(PATH)
|
|
|
|
!IFNDEF LANG
|
|
RES_DIR=.\messages\usa
|
|
!ELSE
|
|
RES_DIR=$(INTL_SRC)\$(LANG)\sdk\ddeml
|
|
EXE_DIR=$(INTL_EXE)
|
|
!ENDIF
|
|
|
|
APP = ddeml
|
|
|
|
!if "$(NTDEBUG)"!="" && "$(NTDEBUG)"!="retail" && "$(NTDEBUG)" != "ntsdnodbg"
|
|
DBG=1
|
|
CDEBUG=/Odi /Zd
|
|
ADEBUG=-Zd
|
|
LDEBUG=/LI
|
|
!endif
|
|
|
|
!IFDEF DBG
|
|
CFLAGS=-DDEBUG -Ocilgtn -Zep $(INCLUDE) $(CDEBUG)
|
|
CVLINK=$(LDEBUG)
|
|
AFLAGS=-Zi -DDEBUG $(INCLUDE) $(ADEBUG)
|
|
O=DEBUG
|
|
|
|
!IFDEF DBGHEAPS
|
|
CFLAGS=-DWATCHHEAPS -DDEBUG -Ziep -Od $(INCLUDE) $(CDEBUG)
|
|
!ENDIF
|
|
|
|
!ELSE
|
|
|
|
CFLAGS=-Ocilgtn -Zep $(INCLUDE)
|
|
CVLINK=
|
|
AFLAGS=$(INCLUDE)
|
|
O=RETAIL
|
|
|
|
!ENDIF
|
|
|
|
CCL = $(CC) $(CFLAGS) -W3 -c -u -ASw -G2swc -Fo$*.obj
|
|
|
|
OBJ1 = $(O)\ddeml.obj $(O)\dmgdb.obj $(O)\dmghsz.obj $(O)\dmgmon.obj $(O)\heapwach.obj $(O)\stdptcl.obj
|
|
OBJ2 = $(O)\dmgwndp.obj $(O)\dmgdde.obj $(O)\dmgq.obj $(O)\dmgmem.obj $(O)\hdata.obj $(O)\stdinit.obj $(O)\register.obj
|
|
ASMOBJ = $(O)\libentry.obj $(O)\dmgutil.obj
|
|
|
|
#===================================================================
|
|
#
|
|
# Dependencies
|
|
#
|
|
#===================================================================
|
|
|
|
!IFNDEF LANG
|
|
all: $(O)\ddeml.dll ddeml.lib
|
|
echo -------- $(O) BUILD COMPLETE --------
|
|
!ELSE
|
|
all: ddeml.$(LANG)
|
|
echo -------- IPG BUILD COMPLETE --------
|
|
!ENDIF
|
|
|
|
$(OBJ1) $(OBJ2): $(@B).c ddemlp.h
|
|
$(CCL) $(@B).c
|
|
|
|
$(ASMOBJ): $(@B).asm
|
|
$(ASM) $(AFLAGS) $(@B).asm, $*.obj;
|
|
|
|
ddeml.lib: ddeml.def
|
|
$(MKPUBLIC) ddeml.def stripped.def
|
|
$(IMPLIB) ddeml.lib stripped.def
|
|
|
|
!IFNDEF LANG
|
|
ddeml.rc: $(RES_DIR)\$@
|
|
copy $(RES_DIR)\$@
|
|
|
|
ddeml.rcv: $(RES_DIR)\$@
|
|
copy $(RES_DIR)\$@
|
|
|
|
ddeml.dlg: $(RES_DIR)\$@
|
|
copy $(RES_DIR)\$@
|
|
|
|
ddeml.res: ddeml.rc ddemlp.h ddeml.rcv ddeml.dlg ..\inc\common.ver ..\inc\version.h
|
|
$(RC) -r ddeml
|
|
!ELSE
|
|
ddeml.res: $(RES_DIR)\$@
|
|
copy $(RES_DIR)\$@
|
|
!ENDIF
|
|
|
|
$(O)\ddeml.dll: $(OBJ1) $(OBJ2) $(ASMOBJ) ddeml.def ddeml.res
|
|
$(LINK) @<<
|
|
$(OBJ1) +
|
|
$(OBJ2) +
|
|
$(ASMOBJ)
|
|
$(O)\ddeml.dll /FAR $(CVLINK)
|
|
$(O)\ddeml /map
|
|
$(WINLIB)\libw.lib $(WINLIB)\sdllcew.lib /nod /noe
|
|
ddeml.def
|
|
<<
|
|
$(MAPSYM) $(O)\ddeml
|
|
copy ddeml.sym $(O)
|
|
del ddeml.sym
|
|
$(RC) -30 -t ddeml.res $(O)\ddeml.dll
|
|
cd $(O)
|
|
binplace ddeml.dll ddeml.map ddeml.sym
|
|
cd ..
|
|
|
|
#
|
|
# clean target
|
|
#
|
|
clean: cleanup all
|
|
|
|
cleanup:
|
|
if exist DEBUG\*.obj del DEBUG\*.obj
|
|
if exist DEBUG\*.sym del DEBUG\*.sym
|
|
if exist DEBUG\*.dll del DEBUG\*.dll
|
|
if exist RETAIL\*.obj del RETAIL\*.obj
|
|
if exist RETAIL\*.sym del RETAIL\*.sym
|
|
if exist RETAIL\*.dll del RETAIL\*.dll
|
|
if exist *.rc del *.rc
|
|
if exist *.res del *.res
|
|
|
|
ddeml.$(LANG): ddeml.res
|
|
copy $(EXE_DIR)\ddeml.dll ddeml.$(LANG)
|
|
$(RC) -30 ddeml.res ddeml.$(LANG)
|