source: trunk/make/link_exe.in@ 245

Last change on this file since 245 was 245, checked in by umoeller, 23 years ago

Sources as of 1.0.1.

  • Property svn:eol-style set to CRLF
  • Property svn:keywords set to Author Date Id Revision
File size: 1.7 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 if buildlevel has changed
42$(MODULEDEF): $(BLDLEVEL_H)
43 @echo ### Updating $(@F) from "$(BLDLEVEL_H)"
44 $(RUN_BLDLEVEL) $@ $(BLDLEVEL_H) $(BLDLEVELNAME)
45!endif
46
47!undef DEPEND_RES
48
49!ifdef RESOURCE_SOURCES
50$(OUTPUTDIR)\$(MODULESTEM).res: $(RESOURCE_SOURCES)
51 @echo ### [$@]: Recreating res $(@F)
52 $(RC) -r $(@B).rc $(OUTPUTDIR)\$(@B).res
53DEPEND_RES = $(OUTPUTDIR)\$(MODULESTEM).res
54!endif
55
56#
57# now go link... if $(LINKOBJS) is defined, use that,
58# otherwise use $(OBJS)
59#
60
61!ifndef LINKOBJS
62LINKOBJS = $(OBJS)
63!endif
64
65$(MODULESDIR)\$(MODULESTEM).exe: $(LINKOBJS) $(MODULEDEF) $(DEPEND_RES)
66 @echo ### [$@]: Linking $(@F)
67 $(LINK) @<<
68/OUT:$@ $(MODULEDEF) $(LINKOBJS) $(PMPRINTF_LIB)
69<<KEEP
70!ifdef DEPEND_RES
71 @echo ### [$@]: Appending $(@B).res
72 $(RC) $(OUTPUTDIR)\$(@B).res $@
73!endif
74!ifdef XWP_OUTPUT_ROOT_DRIVE
75 @$(XWP_OUTPUT_ROOT_DRIVE)
76!endif
77 @cd $(MODULESDIR)
78 $(RUN_MAPSYM) $(@B).map
79!ifdef CVS_WORK_ROOT_DRIVE
80 @$(CVS_WORK_ROOT_DRIVE)
81!endif
82 @cd $(CURRENT_DIR)
83
Note: See TracBrowser for help on using the repository browser.