source: trunk/make/link_exe.in@ 433

Last change on this file since 433 was 387, checked in by pr, 15 years ago

Fix broken macro.

  • Property svn:eol-style set to CRLF
  • Property svn:keywords set to Author Date Id Revision
File size: 1.8 KB
Line 
1#
2# Required input:
3#
4# -- XWP_UNLOCK_MODULES
5#
6# -- MODULESTEM
7#
8# -- MODULESDIR
9#
10# -- COPYTODIR (optional)
11#
12# -- BLDLEVELNAME (optional)
13#
14# -- RESOURCE_SOURCES
15#
16# -- either LINKOBJS or OBJS
17#
18
19!ifdef COPYTODIR
20
21ALLTARGET = $(COPYTODIR)\$(MODULESTEM).exe
22
23$(COPYTODIR)\$(MODULESTEM).exe: $(MODULESDIR)\$(@B).exe
24!ifdef XWP_UNLOCK_MODULES
25 $(RUN_UNLOCK) $@
26!endif
27 $(COPY) $(MODULESDIR)\$(@B).exe $(COPYTODIR)
28 $(COPY) $(MODULESDIR)\$(@B).sym $(COPYTODIR)
29
30!else
31
32ALLTARGET = $(MODULESDIR)\$(MODULESTEM).exe
33
34!endif
35
36!ifdef BLDLEVELNAME
37!ifndef MODULEDEF
38MODULEDEF = $(MODULESTEM).def
39!endif
40
41# update DEF file
42!if [@echo +++ Updating $(MODULEDEF) from "$(BLDLEVEL_H)"]
43!endif
44!if [@$(RUN_BLDLEVEL) $(MODULEDEF) $(BLDLEVEL_H) $(BLDLEVELNAME)]
45!endif
46
47!endif
48
49!undef DEPEND_RES
50
51!ifdef RESOURCE_SOURCES
52$(OUTPUTDIR)\$(MODULESTEM).res: $(RESOURCE_SOURCES)
53 @echo ### [$@]: Recreating res $(@F)
54 $(RC) -r $(@B).rc $(OUTPUTDIR)\$(@B).res
55DEPEND_RES = $(OUTPUTDIR)\$(MODULESTEM).res
56!endif
57
58#
59# now go link... if $(LINKOBJS) is defined, use that,
60# otherwise use $(OBJS)
61#
62
63!ifndef LINKOBJS
64LINKOBJS = $(OBJS)
65!endif
66
67!ifndef LINKCMD
68LINKCMD = $(LINK)
69!endif
70
71$(MODULESDIR)\$(MODULESTEM).exe: $(LINKOBJS) $(MODULEDEF) $(DEPEND_RES)
72 @echo ### [$@]: Linking $(@F)
73 $(LINKCMD) @<<
74/OUT:$@ $(MODULEDEF) $(LINKOBJS) $(PMPRINTF_LIB)
75<<NOKEEP
76!ifdef DEPEND_RES
77 @echo ### [$@]: Appending $(@B).res
78 $(RC) $(OUTPUTDIR)\$(@B).res $@
79!endif
80!ifdef XWP_OUTPUT_ROOT_DRIVE
81 @$(XWP_OUTPUT_ROOT_DRIVE)
82!endif
83 @cd $(MODULESDIR)
84 $(RUN_MAPSYM) $(MAPDIR)\$(@B).map
85!ifdef CVS_WORK_ROOT_DRIVE
86 @$(CVS_WORK_ROOT_DRIVE)
87!endif
88 @cd $(CURRENT_DIR)
89
Note: See TracBrowser for help on using the repository browser.