source: trunk/src/emx/common.smak@ 1315

Last change on this file since 1315 was 1157, checked in by bird, 22 years ago

Added logging facilities.

  • Property cvs2svn:cvs-rev set to 1.10
  • Property svn:eol-style set to native
  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 3.2 KB
RevLine 
[94]1# The common submakefile used for building all kinds of targets.
2
3ifdef .MODULE
4# If this is the first target in this module, add it to global variables
5ifeq ($(findstring $(.MODULE),$(MODULES)),)
6.PHONY: $(.MODULE)
7MODULES += $(.MODULE)
8ifdef .MDESC
9DO.HELP.MODULES += $(call ECHO, $(.MODULE) - $(.MDESC))$(NL)
10.MDESC :=
11endif # def .MDESC
[148]12ifdef .MDEP
13$(.MODULE): $(.MDEP)
14.MDEP :=
15endif # def .MDEP
[94]16endif # eq ($(findstring $(.MODULE),$(MODULES)),)
17endif # def .MODULE
18
19# Canonicalize target kind to the form objectformat-threadness{-profiling}
20ifneq ($(findstring aout,$(.TKIND)),)
21.tmp := aout
22else
23.tmp := omf
24endif # neq ($(findstring aout,$(.TKIND)),)
25ifneq ($(findstring prof,$(.TKIND)),)
26.tmp += prof
27endif # neq ($(findstring prof,$(.TKIND)),)
[1157]28ifneq ($(findstring log,$(.TKIND)),)
29.tmp += log
30endif # neq ($(findstring log,$(.TKIND)),)
[94]31.TKIND := $(.tmp)
[885]32ifdef .TKVAR
33.TKIND.DIR := $(subst $(SPACE),-,$(.TKIND))/$(.TKVAR)/
34else
[94]35.TKIND.DIR := $(subst $(SPACE),-,$(.TKIND))/
[885]36endif
[156]37.DIRS :=
[94]38
[123]39ifdef .TARGET
40
[94]41# .TARG is same as .TARGET except that it has a st/ or mt/ prefix
42.TARG := $(.TKIND.DIR)$(.TARGET)
[156]43.DIRS += $.$(.TKIND.DIR)
[94]44
45ifdef .INSDIR
[578]46ifndef .NOINST
[236]47INS.FILES += $(INS)$(.INSDIR)$(.TARGET)
48$(INS)$(.INSDIR)$(.TARGET): $.$(.TARG)
49 $(call CP,$<,$@)
[578]50endif
[94]51endif # def .INSDIR
52
[123]53# We know how to create dependency files for .c and .cpp files
54.tmp := $(strip $(filter %.c,$(.TSRC)) $(filter %.cpp,$(.TSRC)))
55ifdef .tmp
56# Read the dependency file
57-include $.$(.TKIND.DIR)dep-$(.TARGET).smak
58
59TARGDEPEND += $.$(.TKIND.DIR)dep-$(.TARGET).smak
60
61ifdef BUILD_DEPS
62# How to build the dependency file
63$.$(.TKIND.DIR)dep-$(.TARGET).smak: $(.tmp)
64 $(DO.DEPS)
65endif # BUILD_DEPS
66endif # def .tmp
67