RN rnmake  3.0.0
Arch.cygwin.mk
Go to the documentation of this file.
1 ################################################################################
2 #
3 # Arch/Arch.cygwin.mk
4 #
5 ifdef RNMAKE_DOXY
6 /*!
7 \file
8 
9 \brief RoadNarrows Make System architecture makefile.
10 
11 \par Architecture:
12 Cygwin 'OS' on Windows 32-bit platforms.
13 
14 \par Build Host:
15 Cross-Compiler
16 
17 \par Tool-Chain:
18 i686-pc-cygwin-
19 
20 \pkgsynopsis
21 RN Make System
22 
23 \pkgfile{Arch/Arch.cygwin.mk}
24 
25 \pkgauthor{Robin Knight,robin.knight@roadnarrows.com}
26 
27 \pkgcopyright{2005-2018,RoadNarrows LLC,http://www.roadnarrows.com}
28 
29 \license{MIT}
30 
31 \EulaBegin
32 \EulaEnd
33 
34 \cond RNMAKE_DOXY
35  */
36 endif
37 #
38 ################################################################################
39 
40 _ARCH_CYGWIN_MK = 1
41 
42 # This architecture (required)
43 # Note: These names should be identical those in Arch.cygwin-nat.mk
44 RNMAKE_ARCH = cygwin
45 RNMAKE_ARCH_FQNAME = i686-pc-cygwin
46 
47 
48 #------------------------------------------------------------------------------
49 # Tool Chain
50 #------------------------------------------------------------------------------
51 
52 # Architecture Include Directories
53 RNMAKE_ARCH_INCDIRS =
54 
55 # Architecture specific CPP, C, and C++ Flags
56 RNMAKE_ARCH_CPPFLAGS =
57 RNMAKE_ARCH_CFLAGS =
58 RNMAKE_ARCH_CXXFLAGS =
59 
60 # Cross compiler tool chain prefix
61 CROSS_COMPILE = i686-pc-cygwin-
62 
63 # Locations
64 CYGWIN_DIR = /opt/xcc/cygwin
65 CYGWIN_DIR_INC = $(CYGWIN_DIR)/usr/include
66 
67 # Build Support Commands
68 AR = $(CROSS_COMPILE)ar
69 RANLIB = $(CROSS_COMPILE)ranlib
70 STRIP_LIB = $(CROSS_COMPILE)strip --strip-debug
71 STRIP_EXE = $(CROSS_COMPILE)strip --strip-all
72 
73 
74 #------------------------------------------------------------------------------
75 # C Compiler and Options
76 #------------------------------------------------------------------------------
77 CC = $(CROSS_COMPILE)gcc
78 CFLAGS_CODEGEN = -fPIC
79 CFLAGS_DEBUG = -g
80 CFLAGS_OPTIMIZE = -O2
81 CFLAGS_WARNING = -Wall -Wconversion -Wno-implicit-int
82 CFLAGS_CPP_ONLY = -E
83 CFLAGS_DEPS_ONLY = -M
84 CFLAGS = $(CFLAGS_CODEGEN) \
85  $(CFLAGS_DEBUG) \
86  $(CFLAGS_OPTIMIZE) \
87  $(CFLAGS_WARNING) \
88  -I$(CYGWIN_DIR_INC) -I$(CYGWIN_DIR_INC)/w32api
89 
90 # Make C/CXX Dependencies Command
91 RNMAKE_MAKEDEPS = $(CC) $(CFLAGS_DEPS_ONLY)
92 
93 
94 #------------------------------------------------------------------------------
95 # C++ Compiler and Options
96 #------------------------------------------------------------------------------
97 CXX = $(CROSS_COMPILE)c++
98 CXXFLAGS_DEBUG = -g
99 CXXFLAGS_OPTIMIZE = -O2
100 CXXFLAGS_CPP_ONLY = -E
101 CXXFLAGS = $(CXXFLAGS_DEBUG) \
102  $(CXXFLAGS_OPTIMIZE) \
103  $(CXXFLAGS_WARNING) \
104  -I$(CYGWIN_DIR_INC) -I$(CYGWIN_DIR_INC)/w32api
105 
106 
107 #------------------------------------------------------------------------------
108 # Linker and Options
109 #------------------------------------------------------------------------------
110 LD_CC = $(CC)
111 LD_CXX = $(CXX)
112 LD = $(LD_CC)
113 LDFLAGS = # -Wl,--export-dynamic
114 LD_LIBPATHS = -L$(CYGWIN_DIR)/usr/lib -L$(CYGWIN_DIR)/usr/lib/w32api
115 LD_LIBS =
116 
117 
118 #------------------------------------------------------------------------------
119 # Library Archiver/Linker and Options
120 #------------------------------------------------------------------------------
121 
122 # Static Libs
123 STLIB_LD = ${AR} cr
124 STLIB_PREFIX = lib
125 STLIB_SUFFIX = .a
126 
127 # Shared Libs
128 SHLIB_LD = $(CC) -shared
129 SHLIB_PREFIX = lib
130 SHLIB_SUFFIX = .so
131 SHLIB_LD_EXTRAS =
132 SHLIB_LD_FLAGS =
133 SHLIB_LD_LIBS = ${LIBS}
134 SHLIB_CFLAGS = -fPIC
135 
136 # Dynamically Linked Libraries
137 DLLIB_LD = $(CC) -shared -m32
138 DLLIB_PREFIX = lib
139 DLLIB_SUFFIX = .so
140 DLLIB_LD_NOSTART = -nostartfiles
141 DLLIB_LD_EXTRAS =
142 DLLIB_LD_FLAGS =
143 DLLIB_LD_LIBS = ${LIBS}
144 DLLIB_CFLAGS = -fPIC
145 DLLIB_APP_CFLAGS = -rdynamic -fPIC
146 DLLIB = dl
147 
148 
149 #------------------------------------------------------------------------------
150 # System and Optional Packages
151 #------------------------------------------------------------------------------
152 
153 # Python
154 RNMAKE_PYTHON_ENABLED = y
155 
156 # SWIG - Simplified Wrapper and Interface Generator command
157 RNMAKE_SWIG_ENABLED = y
158 SWIG_CFLAGS = $(CFLAGS_CODEGEN) \
159  -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions
160 SWIG_INCLUDES =
161 SWIG_LDFLAGS =
162 
163 # Posix Thread Library
164 PTHREADLIB = -lpthread
165 PTHREADLIB_INCPATH =
166 PTHREADLIB_LIBPATH =
167 PTHREADLIB_CPPFLAGS =
168 
169 # Jpeg Library
170 JPEGINCPATH =
171 JPEGLIBPATH =
172 JPEGLIB = -ljpeg
173 
174 ifdef RNMAKE_DOXY
175 /*! \endcond RNMAKE_DOXY */
176 endif