-
Notifications
You must be signed in to change notification settings - Fork 23
/
GNUmakefile
131 lines (115 loc) · 5.03 KB
/
GNUmakefile
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
PACKAGE_NAME = CoreObject
include $(GNUSTEP_MAKEFILES)/common.make
FRAMEWORK_NAME = CoreObject
# ABI version (the API version is in CFBundleShortVersionString of FrameworkSource/Info.plist)
VERSION = 0.5
LIBRARIES_DEPEND_UPON = $(shell pkg-config --libs sqlite3) -lEtoileFoundation $(GUI_LIBS) $(FND_LIBS) $(OBJC_LIBS) $(SYSTEM_LIBS)
# For test builds, pass one more libdispatch include directory located in GNUstep Local domain
CoreObject_INCLUDE_DIRS = -IStore/fmdb/src -I$(GNUSTEP_LOCAL_LIBRARIES)/Headers/dispatch
CoreObject_CPPFLAGS += -DGNUSTEP_MISSING_API_COMPATIBILITY -DOS_OBJECT_USE_OBJC=0
CoreObject_LDFLAGS += -lsqlite3 -ldispatch
# TODO: Check that -fobjc-arc is all we need to pass, then remove -fobjc-nonfragile-abi -fblocks
CoreObject_OBJCFLAGS += -fblocks -fobjc-arc -Wall -Wno-arc-performSelector-leaks
LD=${CXX}
ifeq ($(test), yes)
BUNDLE_NAME = $(FRAMEWORK_NAME)
CoreObject_INCLUDE_DIRS += -I$(PROJECT_DIR)/Tests -I$(PROJECT_DIR)/Tests/TestModelObjects -I$(PROJECT_DIR)/Tests/Extras/Model
CoreObject_OBJCFLAGS += -Wno-unused-variable -Wno-unused-value
CoreObject_LDFLAGS += -lEtoileFoundation $(GUI_LIBS) $(FND_LIBS) $(OBJC_LIBS) $(SYSTEM_LIBS)
CoreObject_PRINCIPAL_CLASS = EditingContextTestCase
else
CoreObject_OBJCFLAGS += -Wextra -Wno-sign-compare -Wno-unused-parameter
endif
# For running the test suite without a SSD (see also prepare-coreobject-ramdisk.sh that must be run before)
ifeq ($(ramdisk), yes)
CoreObject_CPPFLAGS += -DIN_MEMORY_STORE
endif
OTHER_HEADER_DIRS = . Core Debugging Diff Extras/Diff Extras/Model Extras/ValueTransformers Model Store Undo Synchronization Synchronization/Messages Utilities StorageDataModel SchemaMigration
CoreObject_HEADER_FILES_DIR = $(COLLECTED_HEADER_DIR)
CoreObject_HEADER_FILES = $(foreach dir, ${OTHER_HEADER_DIRS}, $(notdir $(wildcard ${dir}/*.h)))
CoreObject_OBJC_FILES += $(wildcard Core/*.m)
CoreObject_OBJC_FILES += $(wildcard Diff/*.m)
CoreObject_OBJCC_FILES += $(wildcard Diff/*.mm)
CoreObject_CC_FILES += $(wildcard Diff/*.cc)
CoreObject_OBJC_FILES += $(wildcard Debugging/*.m)
CoreObject_OBJC_FILES += $(wildcard Extras/Diff/*.m)
CoreObject_OBJC_FILES += $(wildcard Extras/Model/*.m)
CoreObject_OBJC_FILES += $(wildcard Extras/ValueTransformers/*.m)
CoreObject_OBJC_FILES += $(wildcard Localization/*.m)
CoreObject_OBJC_FILES += $(wildcard Model/*.m)
CoreObject_OBJC_FILES += $(wildcard SchemaMigration/*.m)
CoreObject_OBJC_FILES += $(wildcard Store/*.m)
CoreObject_C_FILES += $(wildcard Store/*.c)
CoreObject_OBJC_FILES += $(wildcard Undo/*.m)
CoreObject_OBJC_FILES += $(wildcard Utilities/*.m)
CoreObject_OBJC_FILES += $(wildcard StorageDataModel/*.m)
CoreObject_OBJC_FILES += $(wildcard Synchronization/*.m)
CoreObject_OBJC_FILES += $(wildcard Synchronization/Messages/*.m)
# Don't compile fmdb/src/fmdb.m
CoreObject_OBJC_FILES += $(wildcard Store/fmdb/src/FM*.m)
ifeq ($(test), yes)
CoreObject_OBJC_FILES += $(wildcard Tests/*.m)
CoreObject_OBJC_FILES += $(wildcard Tests/Attribute/*.m)
CoreObject_OBJC_FILES += $(wildcard Tests/Core/*.m)
CoreObject_OBJC_FILES += $(wildcard Tests/Diff/*.m)
#CoreObject_OBJC_FILES += $(wildcard Tests/Extras/Model/*.m)
CoreObject_OBJC_FILES += $(wildcard Tests/Model/*.m)
CoreObject_OBJC_FILES += $(wildcard Tests/Relationship/*.m)
CoreObject_OBJC_FILES += $(wildcard Tests/SchemaMigration/*.m)
CoreObject_OBJC_FILES += $(wildcard Tests/StorageDataModel/*.m)
CoreObject_OBJC_FILES += $(wildcard Tests/Store/*.m)
CoreObject_OBJC_FILES += $(wildcard Tests/Undo/*.m)
CoreObject_OBJC_FILES += $(wildcard Tests/Serialization/*.m)
CoreObject_OBJC_FILES += $(wildcard Tests/TestModelObjects/*.m)
CoreObject_OBJC_FILES += $(wildcard Tests/Utilities/*.m)
endif
CoreObject_LANGUAGES = English French
CoreObject_RESOURCE_FILES_DIR = Localization
CoreObject_LOCALIZED_RESOURCE_FILES = Commits
CoreObjectDoc_MENU_TEMPLATE_FILE = Documentation/Templates/menu.html
CoreObjectDoc_HEADER_DIRS =
CoreObjectDoc_SOURCE_DIRS =
CoreObjectDoc_DOC_FILES = \
Core/COBranch.h \
Core/COEditingContext.h \
Core/COEditingContext+Debugging.h \
Core/COObject.h \
Core/COObjectGraphContext.h \
Core/COObjectGraphContext+Debugging.h \
Core/COPersistentRoot.h \
Core/COQuery.h \
Core/COSerialization.h \
Core/CORevision.h \
Model/COBookmark.h \
Model/COContainer.h \
Model/COCollection.h \
Model/COGroup.h \
Model/COLibrary.h \
Model/COTag.h \
SchemaMigration/COModelElementMove.h \
SchemaMigration/COSchemaMigration.h \
SchemaMigration/COSchemaMigrationDriver.h \
StorageDataModel/COAttachmentID.h \
StorageDataModel/COItemGraph.h \
StorageDataModel/COItem.h \
StorageDataModel/COItem+JSON.h \
StorageDataModel/COPath.h \
StorageDataModel/COType.h \
Undo/COCommand.h \
Undo/COCommandGroup.h \
Undo/COTrack.h \
Undo/COUndoTrack.h \
Utilities/COCommitDescriptor.h \
Utilities/CODateSerialization.h \
Utilities/COError.h
include $(GNUSTEP_MAKEFILES)/aggregate.make
-include ../../etoile.make
-include etoile.make
-include ../../documentation.make
ifeq ($(test), yes)
include $(GNUSTEP_MAKEFILES)/bundle.make
else
include $(GNUSTEP_MAKEFILES)/framework.make
endif
after-clean::
rm -rf CoreObject.bundle