-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathmakefile_android
132 lines (100 loc) · 3.16 KB
/
makefile_android
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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
#
# Qt5xHb - Bindings libraries for Harbour/xHarbour and Qt Framework 5
#
# Copyright (c) 2024 Marcos Antonio Gambeta <marcosgambeta AT outlook DOT com>
#
# Makefile for Android
#
QT_BIN_DIR = $(QTDIR)/bin
QT_INC_DIR = $(QTDIR)/include
QT_LIB_DIR = $(QTDIR)/lib
# lista de módulos
include mak/modules1.mak
# checa presença dos módulos na instalação do Qt Framework
include mak/modules2.mak
#
# Configuração do Harbour
#
HB_BIN_DIR = $(HBDIR)/bin
HB_INC_DIR = $(HBDIR)/include
#
# Configuração do Qt5xHb
#
QT5XHB_INC_DIR = include
QT5XHB_OBJ_DIR = obj/$(QTPLATFORM)/$(QTCOMP)
QT5XHB_LIB_DIR = lib/$(QTPLATFORM)/$(QTCOMP)
QT5XHB_SRC_DIR = source
#
# Extensões para objetos e bibliotecas
#
OBJEXT = .o
LIBEXT = .a
LIBPRE = lib
HB = $(HB_BIN_DIR)/harbour
PRGFLAGS = -n -w3 -gc3
# ative a linha abaixo para compilar sem REQUEST <ClassName>
# PRGFLAGS += -DQT5XHB_NO_REQUESTS
PRGINCLUDES = -I$(QT5XHB_INC_DIR) -I$(HB_INC_DIR)
#
# Configuração do compilador C++
#
CC = $(NDKDIR)/toolchains/$(NDKTOOLCHAIN)/prebuilt/windows-x86_64/bin/$(NDKTOOLCHAINPREFIX)-g++
CFLAGS =
CFLAGS += -c -Wno-psabi -march=armv5te -mtune=xscale -msoft-float -ffunction-sections -funwind-tables -fstack-protector -fno-short-enums -DANDROID -Wa,--noexecstack -std=gnu++0x -O2 -Os -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 -Wall -Wno-psabi -W -D_REENTRANT -fPIE
CFLAGS += -DQT_OS_ANDROID_GCC_48_WORKAROUND
CFLAGS += -DQT_NO_DEBUG
# ative a linha abaixo para compilar sem checagem de parametros
# CFLAGS += -DQT5XHB_DONT_CHECK_PARAMETERS
include mak/modules3.mak
CINCLUDES =
CINCLUDES += -I$(QTDIR)/mkspecs/android-g++
CINCLUDES += -I$(QT_INC_DIR)
include mak/modules4.mak
CINCLUDES += -I$(NDKDIR)/sources/cxx-stl/gnu-libstdc++/$(NDKGCCVER)/include
CINCLUDES += -I$(NDKDIR)/sources/cxx-stl/gnu-libstdc++/$(NDKGCCVER)/libs/$(NDKGCCARCH)/include
CINCLUDES += -I$(NDKDIR)/platforms/android-$(NDKAPIVER)/arch-$(NDKAPIARCH)/usr/include
CINCLUDES += -I$(QT5XHB_INC_DIR)
CINCLUDES += -I$(QT5XHB_SRC_DIR)
CINCLUDES += -I$(HB_INC_DIR)
#
# Configuração do ar
#
LINK = $(NDKDIR)/toolchains/$(NDKTOOLCHAIN)/prebuilt/windows-x86_64/bin/$(NDKTOOLCHAINPREFIX)-ar
LFLAGS = rc
#
# Configuração do moc
#
MOC = $(QT_BIN_DIR)/moc
MOCFLAGS =
MOCFLAGS += -DQT_OS_ANDROID_GCC_48_WORKAROUND
MOCFLAGS += -DQT_NO_DEBUG
include mak/modules5.mak
MOCINCLUDES =
MOCINCLUDES += -I$(QTDIR)/mkspecs/android-g++
MOCINCLUDES += -I$(QT_INC_DIR)
include mak/modules6.mak
#
# Objetos
#
OBJECTS_QTCORE += $(QT5XHB_OBJ_DIR)/events$(OBJEXT)
OBJECTS_QTCORE += $(QT5XHB_OBJ_DIR)/signals$(OBJEXT)
OBJECTS_QTCORE += $(QT5XHB_OBJ_DIR)/dummy$(OBJEXT)
OBJECTS_QTCORE += $(QT5XHB_OBJ_DIR)/version$(OBJEXT)
OBJECTS_QTCORE += $(QT5XHB_OBJ_DIR)/utils$(OBJEXT)
OBJECTS_QTCORE += $(QT5XHB_OBJ_DIR)/qtdefs$(OBJEXT)
include mak/modules7.mak
#
# Bibliotecas
#
ALLLIBS =
include mak/modules8.mak
#
# Regras para o make
#
all: $(ALLLIBS)
LINK_CMD = $(LINK) $(LFLAGS) $@ $^
HB_CMD = $(HB) $(PRGFLAGS) $(PRGINCLUDES) -o$@ $^
CC_CMD = $(CC) $(CFLAGS) $(CINCLUDES) -o $@ $^
include mak/rules1.mak
include mak/rules2.mak
include mak/modules9.mak