Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

130 lines
3.3 KiB

!INCLUDE ..\makefile.inc
WINLIB=..\lib
INCLUDE=-I..\inc -I..\..\inc
INCLUDES=..\inc;..\..\inc;$(SDK_INC_PATH)
!if !$(FREEBUILD)
CDEBUG=-Odi -Zped
LDEBUG=/LI/MAP
MDEBUG=-Zd
!else
CDEBUG=-Oas -Zpe
!endif
CC=$(CL)
MASM=$(ASM) $(INCLUDE)
LIBRARIAN=lib16
RCFLAGS=$(INCLUDE)
# with stack probes, medium model (need to set 'memM = 1' before
# including normal cmacros in .A files as well, and link to m*.lib)
#STDOPTS=-W4 -u -c -AMnw -PLM -G2w -Od -Zped
# without stack probes, small model (normal build)
STDOPTS=-W4 -u -c -Asnw -PLM -G2sw
#Need for international version stamping
!IFDEF INTL
.rc{$(DEST)}.res:
$(RC) $(RCFLAGS) -DINTL -r -fo$* $(*F)
!ELSE
.rc.res:
$(RC) $(RCFLAGS) -r -fo$* $(*F)
!ENDIF
.c{$(DEST)}.obj:
set INCLUDE=$(INCLUDES)
$(CC) $(STDOPTS) $(CDEBUG) -Fo$* $(*F).c
.asm{$(DEST)}.obj:
$(MASM) $(MDEBUG) $(*F).asm,$*;
#international mods
#note INTL_SRC, and LANG are external macros set by international
!IFNDEF LANG
RES_DIR=.\messages\usa
!ELSE
RES_DIR=$(INTL_SRC)\$(LANG)\sdk\commdlg
EXE_DIR=$(INTL_EXE)
!ENDIF
!IFNDEF LANG
all: $(DEST)\commdlg.dll
!ELSE
all: $(DEST)\commdlg.$(LANG)
!ENDIF
clean: cleanup all
cleanup:
cd $(DEST)
if exist *.res del *.res
if exist sz.src del sz.src
if exist *.obj del *.obj
if exist stripped.def del stripped.def
if exist *.sym del *.sym
if exist *.map del *.map
if exist *.dll del *.dll
if exist *.lib del *.lib
cd ..\..\..
sz.src: $(RES_DIR)\sz.src
copy $(RES_DIR)\sz.src
commdlg.res: commdlg.rc fileopen.dlg prnsetup.dlg \
font.dlg findtext.dlg color.dlg colordlg.h sz.src commdlg.rcv \
..\inc\common.ver
$(DEST)\commdlg.obj: commdlg.asm ..\..\inc\wowcmdlg.inc
$(MASM) commdlg.asm $@;
$(DEST)\start.obj: start.asm
$(MASM) start.asm $@;
$(DEST)\dlgs.obj: dlgs.c xlib.h dlgs.h
set INCLUDE=$(INCLUDES)
$(CC) $(STDOPTS) -Fo$@ -NT _DLGS dlgs.c
$(DEST)\parse.obj: parse.c parse.h dlgs.h
set INCLUDE=$(INCLUDES)
$(CC) $(STDOPTS) -Fo$@ -NT _FILEOPEN parse.c
$(DEST)\font.obj: font.c xlib.h dlgs.h
set INCLUDE=$(INCLUDES)
$(CC) $(STDOPTS) -Fo$@ -NT _FONT font.c
!IFDEF LANG
$(DEST)\commdlg.$(LANG): commdlg.res
copy $(INTL_EXE)\commdlg.dll commdlg.$(LANG)
$(RC) -30 -t commdlg.res commdlg.$(LANG)
!ENDIF
$(DEST)\commdlg.dll: $(DEST)\commdlg.obj \
$(DEST)\dlgs.obj \
$(DEST)\start.obj \
$(DEST)\parse.obj \
$(DEST)\font.obj \
$(DEST)\commdlg.res \
commdlg.def
$(LINK) @<<
$(DEST)\start $(DEST)\commdlg $(DEST)\parse $(DEST)\font $(DEST)\dlgs
$(DEST)\commdlg.dll/align:16/map
$(DEST)\commdlg.map $(LDEBUG)
$(WINLIB)\$(ALT_PROJECT)\libw $(WINLIB)\libh $(WINLIB)\snocrtd /NODEFAULT
commdlg.def
<<
mapsym -o $(DEST)\commdlg.sym $(DEST)\commdlg
mkpublic commdlg.def $(DEST)\stripped.def
implib $(DEST)\commdlg.lib $(DEST)\stripped.def
$(RC) -30 -t $(DEST)\commdlg.res $(DEST)\commdlg.dll
binplace -o $(ALT_PROJECT_TARGET) $(DEST)\commdlg.dll $(DEST)\commdlg.map $(DEST)\commdlg.sym