summaryrefslogtreecommitdiff
path: root/PACE/include/makeinclude/rules.common.GNU
blob: 4d7f5a5e061baee8d29ef7ec6860b23bca141c4f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#----------------------------------------------------------------------------
#       $Id$
#
#       Common rules for building PACE targets
#----------------------------------------------------------------------------

ifndef PACE_ROOT
  PACE_ROOT = $(ACE_ROOT)/PACE
endif # ! PACE_ROOT

VPATH+=config:sys

ifeq ($(PACE_SYSNAME),)
  PACE_SYSNAME = $(shell uname -s)
endif # ! PACE_SYSNAME

ifeq ($(PACE_SYSVER),)
  PACE_SYSVER = $(shell uname -r)
endif # ! PACE_SYSVER

ifeq ($(PACE_SYSNAME),Linux)
  PACE_SYSVER := $(shell echo $(PACE_SYSVER) | \
    perl -ne 'printf "%lu\n", hex sprintf "%02X%02X%02x", split /\./')
else
  PACE_SYSVER := $(shell echo $(PACE_SYSVER) | sed 's/\.//g')
endif # PACE_SYSNAME == Linux

# List of platforms and uname -s values
# =====================================
# Solaris           SunOS
# NT                "NT" (uname not supported)
# LynxOS            LynxOS
# VxWorks           "VxWorks" (strictly cross-compiled)
# Linux             Linux
# pSOS              "pSOS" (strictly cross-compiled)
# Chorus            "Chorus" (strictly cross-compiled)
# QNX Neutrino      "Neutrino" (strictly cross-compiled)
# OSF/1             OSF1
# IRIX (64 bit)     IRIX64
# IRIX (32 bit)     IRIX (unconfirmed)
# HPUX              HP-UX
# AIX               AIX

ifeq ($(PACE_SYSNAME),SunOS)
  # Hard code special cases for SunOS 5.6 and 5.7 since we
  # need a 3 digit version number for comparison purposes.
  ifeq ($(PACE_SYSVER),57)
    PACE_SYSVER := $(PACE_SYSVER)0
  endif # PACE_SYSVER == 57
  ifeq ($(PACE_SYSVER),56)
    PACE_SYSVER := $(PACE_SYSVER)0
  endif # PACE_SYSVER == 56
  VPATH :=.:posix:$(VPATH)
  CFLAGS += -DPACE_SUNOS=$(PACE_SYSVER) -D_REENTRANT
  ifeq ($(threads),1)
    CFLAGS += -D_POSIX_PTHREAD_SEMANTICS
  endif # ! ($(threads),0)
endif

ifeq ($(PACE_SYSNAME),NT)
  VPATH :=.:win32:$(VPATH)
  CFLAGS += -DPACE_WIN32=$(PACE_SYSVER)
endif

ifeq ($(PACE_SYSNAME),LynxOS)
  VPATH :=.:posix:$(VPATH)
  CFLAGS += -DPACE_LYNXOS=$(PACE_SYSVER)
  ifeq ($(PACE_SYSVER),0x300)
    CFLAGS += -D_POSIX_THREADS_CALLS
  endif # ($(PACE_SYSVER),0x300)
endif

ifeq ($(PACE_SYSNAME),OSF1)
  VPATH :=.:posix:$(VPATH)
  CFLAGS += -DPACE_OSF1=$(PACE_SYSVER) -D_DEC_XPG
endif

ifeq ($(PACE_SYSNAME),VxWorks)
  VPATH :=.:vxworks:$(VPATH)
  CFLAGS += -DPACE_VXWORKS=$(PACE_SYSVER)
endif

ifeq ($(PACE_SYSNAME),Linux)
  VPATH :=.:posix:$(VPATH)
  emulation=1
  CFLAGS += -DPACE_LINUX=$(PACE_SYSVER)
endif

ifeq ($(PACE_SYSNAME),AIX)
  VPATH := .:posix:$(VPATH)
  CFLAGS += -DPACE_HAS_POSIX -D_REENTRANT
endif

ifeq ($(PACE_SYSNAME),HP-UX)
  VPATH := .:posix:$(VPATH)
  CFLAGS += -DPACE_HAS_POSIX -D_REENTRANT
endif

ifeq ($(debug),)
  ifeq (,$(findstring $(CFLAGS),$(CCFLAGS)))
    CCFLAGS += -DPACE_NDEBUG
  else
    CFLAGS  += -DPACE_NDEBUG
  endif
endif # debug