-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathmakefile
64 lines (46 loc) · 1.79 KB
/
makefile
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
# makefile
#
# This is the Linux/x86 makefile for the TextInputCanvas plugin.
#
# (c) 2013 Xojo, Inc. -- All Rights Reserved
CC = g++
BASEDIR = ./
PLUGINSDKDIR = $(BASEDIR)/sdk
SDKGLUECODEDIR = $(PLUGINSDKDIR)/Glue\ Code
SDKINCLUDEDIR = $(PLUGINSDKDIR)/Includes
SOURCEDIR = $(BASEDIR)/src
INCLUDE = -iquote$(SDKINCLUDEDIR) \
-iquote$(SOURCEDIR) \
-iquote./
GTKINCLUDES = `pkg-config --cflags gtk+-3.0`
GTKLIBS = `pkg-config --libs gtk+-3.0`
LIBS = $(GTKLIBS)
CFLAGS = -s -O2 -D__INTEL__ -D__GCC__ -DWIDGET_GTK=1 $(INCLUDE) $(GTKINCLUDES)
PREFIXHEADER = $(SDKINCLUDEDIR)/LinuxHeader.h
PRODUCT = libTextInputCanvas.so
BUILDOUTPUTDIR = BuildObjects
OBJS = $(BUILDOUTPUTDIR)/main.o \
$(BUILDOUTPUTDIR)/PluginMain.o \
$(BUILDOUTPUTDIR)/TextInputCanvas.o \
$(BUILDOUTPUTDIR)/TextInputGTK.o \
$(BUILDOUTPUTDIR)/TextRange.o \
$(BUILDOUTPUTDIR)/UnicodeHelper.o
all: createbuilddir $(OBJS)
$(CC) $(CFLAGS) -shared -o $(PRODUCT) $(OBJS) $(LIBS)
createbuilddir:
mkdir -p $(BUILDOUTPUTDIR)
$(BUILDOUTPUTDIR)/main.o: $(SOURCEDIR)/main.cpp
$(CC) $(CFLAGS) -include $(PREFIXHEADER) "$<" -c -o $@
$(BUILDOUTPUTDIR)/PluginMain.o: $(SDKGLUECODEDIR)/PluginMain.cpp
$(CC) $(CFLAGS) -include $(PREFIXHEADER) "$<" -c -o $@
$(BUILDOUTPUTDIR)/TextInputCanvas.o: $(SOURCEDIR)/TextInputCanvas.cpp
$(CC) $(CFLAGS) -include $(PREFIXHEADER) "$<" -c -o $@
$(BUILDOUTPUTDIR)/TextInputGTK.o: $(SOURCEDIR)/TextInputGTK.cpp
$(CC) $(CFLAGS) -include $(PREFIXHEADER) "$<" -c -o $@
$(BUILDOUTPUTDIR)/TextRange.o: $(SOURCEDIR)/TextRange.cpp
$(CC) $(CFLAGS) -include $(PREFIXHEADER) "$<" -c -o $@
$(BUILDOUTPUTDIR)/UnicodeHelper.o: $(SOURCEDIR)/UnicodeHelper.cpp
$(CC) $(CFLAGS) -include $(PREFIXHEADER) "$<" -c -o $@
clean:
rm -rf $(BUILDOUTPUTDIR)
rm -f $(PRODUCT)