source: trunk/emx/mkomflib.smak@ 2511

Last change on this file since 2511 was 2446, checked in by bird, 20 years ago

serious restructuring in progress.

  • Property cvs2svn:cvs-rev set to 1.5
  • Property svn:eol-style set to native
  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 1.2 KB
RevLine 
[157]1# This submakefile is included from mklib.smak and mkimplib.smak to define
2# the rules required for building an OMF variant from the a.out library.
3
4# The rule for building the OMF variant of library from a.out format
5ifneq ($(findstring aout,$(.TKIND)),)
6
[259]7# Remove the .a suffix from library name and append .lib instead
8.TARGET := $(patsubst %.a,%.lib,$(.TARGET))
[157]9
10# Replace 'aout' with 'omf' in .TKIND
11.TKIND := $(subst aout,omf,$(.TKIND))
12
13# Compute the new output file directory
[1188]14ifdef .TKVAR
15.TKIND.DIR := $(subst $(SPACE),-,$(.TKIND))/$(.TKVAR)/
16else
[157]17.TKIND.DIR := $(subst $(SPACE),-,$(.TKIND))/
[1188]18endif
[157]19
20# Compute the name of target file to build
21.TARG@OMF := $(.TKIND.DIR)$(.TARGET)
22
23# The rule for building the xxx@omf variant of target
24.PHONY: $(.MODULE)@omf
25
[259]26# Add this module to the list of all modules
[157]27MODULES += $(.MODULE)@omf
[259]28# ... and to the list of libraries
29libs: $(.MODULE)@omf
[157]30
[236]31INS.FILES += $(INS)$(.INSDIR)$(.TARGET)
32$(INS)$(.INSDIR)$(.TARGET): $.$(.TARG@OMF)
33 $(call CP,$<,$@)
[157]34
35.DIRS@OMF := $(dir $.$(.TARG@OMF))
36
37TARGDIRS += $(.DIRS@OMF)
38
39$(.MODULE)@omf: $(.MODULE) $(.DIRS@OMF) $.$(.TARG@OMF)
40
41# Add a dependency rule to help make
42# (avoids that dumb 'dunno how to make' message)
[236]43$.$(.TARG@OMF): $.$(.TARG)
[157]44
45endif # neq ($(findstring aout,$(.TKIND)),)
Note: See TracBrowser for help on using the repository browser.