Added -Wno-pointer-sign to reduce number of warnings when building AHI.
[AROS.git] / tools / metamakeng / make.cfg
blob376eadb95353b2bffbe2e713a77303a9b2bbb246
1 # we need some variables for testing of metamakeng but we can't include
2 # config/make.cfg because of some "if".
4 # ifneq ($(AROS_TARGET_VARIANT),)
5 # AROS_TARGET_SUFFIX=-$(AROS_TARGET_VARIANT)
6 # ifeq ($(AROS_TARGET_ARCH),pc)
7 # 'pc' target has 'tiny' variant for boot floppy, which affects only GRUB options.
8 # It should not affect AROS_TARGET_PLATFORM
9 # AROS_TARGET_PLATFORM := $(AROS_TARGET_ARCH)-$(AROS_TARGET_CPU)
10 # else
11 # AROS_TARGET_PLATFORM := $(AROS_TARGET_VARIANT)-$(AROS_TARGET_CPU)
12 # endif
13 # else
14 AROS_TARGET_SUFFIX=
15 AROS_TARGET_PLATFORM := $(AROS_TARGET_ARCH)-$(AROS_TARGET_CPU)
16 # endif
18 # All files corresponding to a specific host go here.
19 HOSTDIR     := $(TOP)/bin/$(AROS_HOST_ARCH)-$(AROS_HOST_CPU)
20 TOOLDIR     := $(HOSTDIR)/tools
22 HOSTGENDIR  := $(HOSTDIR)/gen
24 # All files corresponding to a specific target go here.
25 TARGETDIR   := $(TOP)/bin/$(AROS_TARGET_ARCH)-$(AROS_TARGET_CPU)$(AROS_TARGET_SUFFIX)
27 GENDIR      := $(TARGETDIR)/gen
29 #-include $(GENDIR)/config/make.defaults
30 #-include $(GENDIR)/config/make.opts
32 # target.cfg *must* come before host.cfg
33 #include $(GENDIR)/config/target.cfg
34 #include $(HOSTGENDIR)/config/host.cfg
36 # Cross tools installation directory.
37 CROSSTOOLSDIR        := /home/mazze/projects/aros-linux-i386-dbg/bin/linux-x86_64/tools/crosstools
39 # Files downloaded from the net are put here
40 PORTSSOURCEDIR       := /home/mazze/projects/ports-src
41 PORTSDIR             := $(TARGETDIR)/Ports
43 # Distributable Files we generate are put here
44 DISTDIR              := /home/mazze/projects/aros-linux-i386-dbg/distfiles
46 # File for AROS gcc cross compiler spec file
47 SPECS                := $(GENDIR)/config/specs
49 # This is the directory structure for an AROS system.
50 AROSDIR              := $(TARGETDIR)/AROS
52 # Relative paths for standard directories
53 AROS_DIR_C           := C
54 AROS_DIR_CLASSES     := Classes
55 AROS_DIR_DATATYPES   := $(AROS_DIR_CLASSES)/Datatypes
56 AROS_DIR_GADGETS     := $(AROS_DIR_CLASSES)/Gadgets
57 AROS_DIR_DEVS        := Devs
58 AROS_DIR_EXPANSION   := Expansion
59 AROS_DIR_FS          := L
60 AROS_DIR_LIBRARIES   := Libs
61 AROS_DIR_LOCALE      := Locale
62 AROS_DIR_S           := S
63 AROS_DIR_DEVELOPMENT := Development
64 AROS_DIR_INCLUDE     := $(AROS_DIR_DEVELOPMENT)/include
65 AROS_DIR_LIB         := $(AROS_DIR_DEVELOPMENT)/lib
66 AROS_DIR_CONTRIB     := Extras
68 # Absolute paths for standard directories
69 AROS_C               := $(AROSDIR)/$(AROS_DIR_C)
70 AROS_CLASSES         := $(AROSDIR)/$(AROS_DIR_CLASSES)
71 AROS_DATATYPES       := $(AROSDIR)/$(AROS_DIR_DATATYPES)
72 AROS_GADGETS         := $(AROSDIR)/$(AROS_DIR_GADGETS)
73 AROS_DEVS            := $(AROSDIR)/$(AROS_DIR_DEVS)
74 AROS_EXPANSION       := $(AROSDIR)/$(AROS_DIR_EXPANSION)
75 AROS_FS              := $(AROSDIR)/$(AROS_DIR_FS)
76 AROS_RESOURCES       := $(AROS_DEVS)
77 AROS_DRIVERS         := $(AROS_DEVS)/Drivers
78 AROS_LIBRARIES       := $(AROSDIR)/$(AROS_DIR_LIBRARIES)
79 AROS_LOCALE          := $(AROSDIR)/$(AROS_DIR_LOCALE)
80 AROS_CATALOGS        := $(AROS_LOCALE)/Catalogs
81 AROS_HELP            := $(AROS_LOCALE)/Help
82 AROS_PREFS           := $(AROSDIR)/Prefs
83 AROS_ENVARC          := $(AROS_PREFS)/Env-Archive
84 AROS_PACKAGES        := $(AROS_ENVARC)/SYS/Packages
85 AROS_PRINTERS        := $(AROS_DEVS)/Printers
86 AROS_S               := $(AROSDIR)/$(AROS_DIR_S)
87 AROS_SYSTEM          := $(AROSDIR)/System
88 AROS_WANDERER        := $(AROS_SYSTEM)/Wanderer
89 AROS_THEMES          := $(AROS_PREFS)/Presets/Themes
90 AROS_IMAGES          := $(AROS_SYSTEM)/Images
91 AROS_TOOLS           := $(AROSDIR)/Tools
92 AROS_UTILITIES       := $(AROSDIR)/Utilities
93 AROS_TESTS           := $(AROSDIR)/Tests
95 AROS_DEVELOPMENT     := $(AROSDIR)/$(AROS_DIR_DEVELOPMENT)
96 AROS_INCLUDES        := $(AROSDIR)/$(AROS_DIR_INCLUDE)
97 AROS_LIB             := $(AROSDIR)/$(AROS_DIR_LIB)
99 AROS_CONTRIB         := $(AROSDIR)/$(AROS_DIR_CONTRIB)
101 # The generated files all go under the GENDIR path
102 SCRIPTDIR            := $(GENDIR)/scripts
104 MKDEPEND             := $(SRCDIR)/scripts/mkdep
105 FETCH                := $(SRCDIR)/scripts/fetch.sh
106 CPYDIRREC            := /usr/bin/python $(SRCDIR)/scripts/cpy-dir-rec.py
108 # The paths to the generated tools
109 TOOLDIR         := $(HOSTDIR)/tools
110 TOOLLIB         := $(TOOLDIR)/libtool.a
111 MMAKE           := $(TOOLDIR)/mmake$(HOST_EXE_SUFFIX)
112 ARCHTOOL        := $(TOOLDIR)/archtool$(HOST_EXE_SUFFIX)
113 ELF2HUNK        := $(TOOLDIR)/elf2hunk$(HOST_EXE_SUFFIX)
114 GENMF           := $(TOOLDIR)/genmf.py
115 FLEXCAT         := $(TOOLDIR)/flexcat$(HOST_EXE_SUFFIX)
116 FD2INLINE       := $(TOOLDIR)/fd2inline$(HOST_EXE_SUFFIX)
117 FD2PRAGMA       := $(TOOLDIR)/fd2pragma$(HOST_EXE_SUFFIX)
118 SFDC            := $(TOOLDIR)/sfdc
119 MODTOOL         := $(TOOLDIR)/modtool$(HOST_EXE_SUFFIX)
120 CREATEDTDESC    := $(TOOLDIR)/createdtdesc$(HOST_EXE_SUFFIX)
121 AFSLIB          := $(TOOLDIR)/libafs.a
122 COPYTOAFS       := $(TOOLDIR)/copytoafs$(HOST_EXE_SUFFIX)
123 ILBMTOC         := $(TOOLDIR)/ilbmtoc$(HOST_EXE_SUFFIX)
124 ILBMTOICON      := $(TOOLDIR)/ilbmtoicon$(HOST_EXE_SUFFIX)
125 INFOINFO        := $(TOOLDIR)/infoinfo$(HOST_EXE_SUFFIX)
126 GENSETS         := $(TOOLDIR)/gensets$(HOST_EXE_SUFFIX)
127 COLLECT-AROS    := $(TOOLDIR)/collect-aros$(HOST_EXE_SUFFIX)
128 GENMODULE       := $(TOOLDIR)/genmodule$(HOST_EXE_SUFFIX)
129 CXREF           := $(TOOLDIR)/cxref$(HOST_EXE_SUFFIX)
130 SETREV          := $(TOOLDIR)/setrev$(HOST_EXE_SUFFIX)
131 MKSUNXIBOOT     := $(TOOLDIR)/mksunxiboot$(HOST_EXE_SUFFIX)
133 RESIDENT_BEGIN  := compiler/libinit/libentry
135 AROS_CC         := $(TARGET_CC)
136 ifneq ($(TARGET_CXX),)
137 AROS_CXX        := $(TARGET_CXX)
138 else
139 AROS_CXX        := $(CROSSTOOLSDIR)/$(AROS_TARGET_CPU)-aros-g++
140 endif
141 AROS_CXXEXTS    := cpp cxx cc c++
142 AROS_AS         := $(TARGET_AS)
143 AROS_LD         := $(TARGET_LD)
145 STRIP           := $(TARGET_STRIP)
147 #CALL            := env AROS_HOST_ARCH=$(AROS_HOST_ARCH) AROS_HOST_CPU=$(AROS_HOST_CPU) \
148 #                       AROS_TARGET_ARCH=$(AROS_TARGET_ARCH) AROS_TARGET_CPU=$(AROS_TARGET_CPU) \
149 #                       AROS_TARGET_VARIANT=$(AROS_TARGET_VARIANT) AROS_TARGET_SUFFIX=$(AROS_TARGET_SUFFIX)
151 # At the moment we have two copies of the includes...
152 # This is the AROS includes, minus clib/mlib.
153 GENINCDIR       := $(GENDIR)/include
155 # Basic make configuration. No need to edit anything else under here.
157 #.SUFFIXES :
158 #.SUFFIXES : .c .h .d .s .S
160 #.PHONY : all clean setup subdirs
162 # Was debugging enabled? Better set up the options.
163 #ifeq ($(DEBUG),yes)
164 CONFIG_CFLAGS += $(DEBUG_CFLAGS)
165 CONFIG_AFLAGS += $(DEBUG_AFLAGS)
166 CONFIG_LDFLAGS += $(DEBUG_LDFLAGS)
167 HOST_CFLAGS += $(DEBUG_CFLAGS)
168 HOST_CXXFLAGS += $(DEBUG_CFLAGS) $(DEBUG_CXXFLAGS)
169 HOST_AFLAGS += $(DEBUG_AFLAGS)
170 HOST_LDFLAGS += $(DEBUG_LDFLAGS)
171 MECHO   := $(ECHO)
172 #else
173 #MECHO  := $(NOP)
174 #endif
176 # C and assembly flags are set depending upon the directory
177 CFLAGS      = $(USER_INCLUDES) $(CONFIG_CFLAGS) $(USER_CFLAGS)
178 AFLAGS      = $(USER_AFLAGS) $(CONFIG_AFLAGS)
179 LDFLAGS     = $(USER_LDFLAGS) $(CONFIG_LDFLAGS)
181 # Apple iOS stuff for gcc
182 IOS_LDFLAGS  := -F$(IOS_SDK_PATH)/System/Library/Frameworks
184 # Compatibility with old variables
185 OBJDIR          :=      $(GENDIR)/$(CURDIR)
186 LIBDIR          :=      $(AROS_LIB)
187 OSGENDIR        :=      $(GENDIR)/rom
188 KOBJSDIR        :=      $(GENDIR)/kobjs
189 PKGDIR          :=      $(GENDIR)/pkg
191 # the build system needs to have some tools in the PATH
193 #ifeq ($(AROS_PATH_SET),)
194 #    TMP_TOOLDIR       := $(shell echo $(TOOLDIR) | sed 's/^\(.\):\//\/\1\//')
195 #    TMP_CROSSTOOLSDIR := $(shell echo $(CROSSTOOLSDIR) | sed 's/^\(.\):\//\/\1\//')
196 #    PATH := $(TMP_CROSSTOOLSDIR):$(TMP_TOOLDIR):$(TMP_TOOLDIR)/$(AROS_TARGET_CPU)-$(AROS_TARGET_ARCH)$(AROS_TARGET_SUFFIX):$(PATH)
197 #    AROS_PATH_SET := yes
198 #    export PATH AROS_PATH_SET
199 #endif
201 # Here follow some global variables that can get values through the makefile
202 # and will be handled in make.tail
204 # Dirs to create a makedir rule for
205 GLOB_MKDIRS :=
207 # Source directory is added to the target search path
208 # VPATH := $(shell echo $(SRCDIR)/$(CURDIR) | sed 's/^\(.\):\//\/\1\//')
210 # Macro for expanding wildcards in source directory
211 # We use shell script here in order to avoid Unicode file names that are listed by pattern expansion but can't be accessed
212 # because of failing Unicode->ACP conversion under Windows
213 # WILDCARD = $(shell cd $(SRCDIR)/$(CURDIR); for file in $(1); do if [ -f $$file ]; then printf "%s" "$$file "; fi; done)