summaryrefslogtreecommitdiffstats
path: root/qooxdoo/my-application.mk
blob: 126167daab1112f8021727ccf54358a59986705d (plain)
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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
################################################################################
#
#  qooxdoo - the new era of web development
#
#  http://qooxdoo.org
#
#  Copyright:
#    2006-2008 1&1 Internet AG, Germany, http://www.1und1.de
#
#  License:
#    LGPL: http://www.gnu.org/licenses/lgpl.html
#    EPL: http://www.eclipse.org/org/documents/epl-v10.php
#    See the LICENSE file in the project's top-level directory for details.
#
#  Authors:
#    * Sebastian Werner (wpbasti)
#    * Andreas Ecker (ecker)
#    * Fabian Jakobs (fjakobs)
#
################################################################################

################################################################################
# INCLUDE EXTERNAL MAKEFILES
################################################################################

include $(QOOXDOO_PATH)/frontend/framework/tool/make/framework.mk
include $(QOOXDOO_PATH)/frontend/framework/tool/make/apiviewer.mk
include $(QOOXDOO_PATH)/frontend/framework/tool/make/testrunner.mk
include $(QOOXDOO_PATH)/frontend/framework/tool/make/buildtool.mk





################################################################################
# REQUIRED SETTINGS
################################################################################

#
# Path to the folder of your qooxdoo distribution.
# Can either be
# a) a relative path to the location of this Makefile (preferred) or
# b) an absolute path starting at the root of your file system
# Example: If you put the skeleton folder next to the qooxdoo SDK folder,
# you can use the following relative path:
# QOOXDOO_PATH = ../qooxdoo-0.6.5-sdk
# Please note that Windows users should always use relative paths.
# It should end with the last directory. Please omit a trailing slash.
#
ifndef QOOXDOO_PATH
  QOOXDOO_PATH = PLEASE_DEFINE_QOOXDOO_PATH
endif

#
# Namespace of your application e.g. custom
# Even complexer namespaces are possible like: net.sf.custom
#
ifndef APPLICATION_NAMESPACE
  APPLICATION_NAMESPACE = custom
endif







################################################################################
# BASIC SETTINGS
################################################################################

#
# Full application classname
#
ifndef APPLICATION_CLASSNAME
  APPLICATION_CLASSNAME = Application
endif

#
# Similar to QOOXDOO_PATH, but from the webserver point of view.
# Starting point is now the application HTML file in the source folder
# (source/index.html by default). In most cases just prepend a "../" to
# QOOXDOO_PATH from above.
# Example: QOOXDOO_URI = ../../qooxdoo-0.6.5-sdk
# The assigned value should end in a directory name. Please omit trailing
# slashes.
#
ifndef QOOXDOO_URI
  QOOXDOO_URI = ../$(QOOXDOO_PATH)
endif

#
# Namespace defined as a directory path.
# Even complexer stuff is possible like: net/sf/custom
# Normally the namespace given will be automatically translated.
#
ifndef APPLICATION_NAMESPACE_PATH
  APPLICATION_NAMESPACE_PATH := $(shell echo $(APPLICATION_NAMESPACE) | sed s:\\.:/:g)
endif

#
# Title used during the make process.
# Default is the uppercase variant of your normal title.
#
ifndef APPLICATION_MAKE_TITLE
  APPLICATION_MAKE_TITLE := $(shell echo $(APPLICATION_NAMESPACE) | tr "[:lower:]" "[:upper:]")
endif

#
# Title used in your API viewer
# Default is identical to your custom namespace.
#
ifndef APPLICATION_API_TITLE
  APPLICATION_API_TITLE := $(APPLICATION_NAMESPACE)
endif

#
# Files that will be copied from the source directory into the build
# directory (space separated list). The default list is empty.
#
ifndef APPLICATION_FILES
  APPLICATION_FILES =
endif

#
# Locales to use (space separated list)
# To set a specific locale like "en_US" the generic locale "en" has to be added as well
# Example: APPLICATION_LOCALES = en en_US de de_DE es
#
ifndef APPLICATION_LOCALES
  APPLICATION_LOCALES =
endif

#
# Defines the position of the HTML/PHP etc. file used to include your
# application JavaScript code in relation to root directory. The root
# directory meant here is your source or build directory. Even if we
# this is about directories all the time, this setting configure the
# URI and not a file system path.
#
# If your HTML file is placed directly in source/build you can simply use
# the default "." (without quotation) here.
#
# If your HTML file is placed in source/html/page.html you can configure
# this setting to "../" (without quotation) for example.
#
ifndef APPLICATION_HTML_TO_ROOT_URI
  APPLICATION_HTML_TO_ROOT_URI = .
endif

#
# By default the complete command line of the called programs is
# hidden. Setting VERBOSE to true shows the complete commands.
#
SILENCE=
ifneq ($(VERBOSE),true)
SILENCE=@
endif




################################################################################
# GENERATOR OPTIONS
################################################################################

#
# Whether all JavaScript files of only the files needed by the application
# should be included into the build version of the program.
#
ifndef APPLICATION_COMPLETE_BUILD
  APPLICATION_COMPLETE_BUILD = false
endif

#
# Whether all JavaScript files of only the files needed by the application
# should be included into the source version of the program.
#
ifndef APPLICATION_COMPLETE_SOURCE
  APPLICATION_COMPLETE_SOURCE = true
endif

ifndef APPLICATION_COMPLETE_API
  APPLICATION_COMPLETE_API = true
endif

#
# Customize line break settings
# If enabled line breaks are inserted into the compiled application.
# This makes the generated code better readable and produces saner error
# messages, but bigger, too.
#
ifndef APPLICATION_LINEBREAKS_BUILD
  APPLICATION_LINEBREAKS_BUILD = true
endif

#
# Customize line break settings
# If enabled line breaks are added to the loader script of the source version.
#
ifndef APPLICATION_LINEBREAKS_SOURCE
  APPLICATION_LINEBREAKS_SOURCE = true
endif

#
# Enables string optimization for the build version.
# String optimization gives a perforcmance boost on the Internet Explorer 6,
# obfuscates the code and may reduce the size. This should always be enabled for
# deployment versions.
#
ifndef APPLICATION_OPTIMIZE_STRINGS
  APPLICATION_OPTIMIZE_STRINGS = true
endif

#
# Renames local variables to shorter names for the build version.
# This option reduces the code size and obfuscates the code.
# Warning: If local variable names are used inside of "eval" statement
# this may break the code.
#
ifndef APPLICATION_OPTIMIZE_VARIABLES
  APPLICATION_OPTIMIZE_VARIABLES = true
endif

#
# Inlines calls to "this.base(arguments)" to speed up calls to the super class.
# It is safe to enable this setting.
#
ifndef APPLICATION_OPTIMIZE_BASE_CALL
  APPLICATION_OPTIMIZE_BASE_CALL = true
endif

#
# Renames private methods and fields (methods/fields starting with "__") to shorter names.
# This makes it impossible for other classes to call private methods because the new names
# of the private members is unknown outside the class.
#
# This setting obfuscates the code and can help to enforce the privacy of methods.
#
ifndef APPLICATION_OPTIMIZE_PRIVATE
  APPLICATION_OPTIMIZE_PRIVATE = false
endif

#
# This setting obfuscates the code
#
ifndef APPLICATION_OBFUSCATE_ACCESSORS
  APPLICATION_OBFUSCATE_ACCESSORS = false
endif

#
# If enabled optimized builds for each supported browser given in
# APPLICATION_INDIVIDUAL_BROWSERS and a generic loader script are generated.
#
# This increases the time to build the application but optimizes both code size and runtime
# of the application.
#
ifndef APPLICATION_OPTIMIZE_BROWSER
  APPLICATION_OPTIMIZE_BROWSER = false
endif

#
# Individual browsers that an optimized build is generated for, if
# APPLICATION_OPTIMIZE_BROWSER is enabled.
#
ifndef APPLICATION_INDIVIDUAL_BROWSERS
  APPLICATION_INDIVIDUAL_BROWSERS = gecko mshtml opera webkit
endif

#
# Remove debug code.
#
# This sets the variant qx.debug to "off" and removes all code paths for qx.debug "on".
# Production code should set this always to true, because qooxdoo uses extensive runtime
# checks, which will be disabled by this setting.
#
ifndef APPLICATION_OPTIMIZE_REMOVE_DEBUG
  APPLICATION_OPTIMIZE_REMOVE_DEBUG = true
endif

#
# Remove compatibility for qooxdoo 0.6 style class declarations.
#
ifndef APPLICATION_OPTIMIZE_REMOVE_COMPATIBILITY
  APPLICATION_OPTIMIZE_REMOVE_COMPATIBILITY = false
endif

#
# Remove AOP support
#
ifndef APPLICATION_OPTIMIZE_REMOVE_ASPECTS
  APPLICATION_OPTIMIZE_REMOVE_ASPECTS = true
endif

#
# Configure if support for widgets should be included
#
# If enabled qooxdoo initializes the whole widget and event stack.
# Disable this if you don't need the qooxdoo widgets but want to use only
# the core functionality of qooxdoo (e.g. RPC, Ajax, DOM, XML, ...)
#
ifndef APPLICATION_ENABLE_GUI
  APPLICATION_ENABLE_GUI = true
endif

#
# Configure resource filter
# If enabled all application classes needs a #embed
# configuration, too.
#
ifndef APPLICATION_RESOURCE_FILTER
  APPLICATION_RESOURCE_FILTER = false
endif


#
# List of directories containing contributions or external projects
# to include code from. Additionally qooxdoo-contrib includes can be 
# used by using the following URL scheme:
# contrib://ProgressBar/0.1
#
ifndef APPLICATION_INCLUDES
  APPLICATION_INCLUDES = false
endif




################################################################################
# RUNTIME SETTINGS
################################################################################

#
# Set the default meta theme.
#
ifndef APPLICATION_THEME
  APPLICATION_THEME = qx.theme.ClassicRoyale
endif

#
# Set the default color theme.
#
ifndef APPLICATION_THEME_COLOR
  APPLICATION_THEME_COLOR =
endif

#
# Set the default border theme.
#
ifndef APPLICATION_THEME_BORDER
  APPLICATION_THEME_BORDER =
endif

#
# Set the default font theme.
#
ifndef APPLICATION_THEME_FONT
  APPLICATION_THEME_FONT =
endif

#
# Set the default icon theme
#
ifndef APPLICATION_THEME_ICON
  APPLICATION_THEME_ICON =
endif

#
# Set the default widget theme
#
ifndef APPLICATION_THEME_WIDGET
  APPLICATION_THEME_WIDGET =
endif

#
# Set the default appearance theme.
#
ifndef APPLICATION_THEME_APPEARANCE
  APPLICATION_THEME_APPEARANCE =
endif








#
# Set the default log level for the source version
#
ifndef APPLICATION_SOURCE_LOG_LEVEL
  APPLICATION_SOURCE_LOG_LEVEL = debug
endif

#
# Set the default log level for the build version
#
ifndef APPLICATION_BUILD_LOG_LEVEL
  APPLICATION_BUILD_LOG_LEVEL = debug
endif

#
# Set the default log appender for the source version
#
ifndef APPLICATION_SOURCE_LOG_APPENDER
  APPLICATION_SOURCE_LOG_APPENDER = qx.log.appender.Native
endif

#
# Set the default log appender for the build version
#
ifndef APPLICATION_BUILD_LOG_APPENDER
  APPLICATION_BUILD_LOG_APPENDER = qx.log.appender.Native
endif






################################################################################
# SOURCE TEMPLATE SETUP
################################################################################

#
# Template to patch (e.g. XHTML mode)
#
ifndef APPLICATION_TEMPLATE_INPUT
  APPLICATION_TEMPLATE_INPUT =
endif

ifndef APPLICATION_TEMPLATE_OUTPUT
  APPLICATION_TEMPLATE_OUTPUT =
endif

ifndef APPLICATION_TEMPLATE_REPLACE
  APPLICATION_TEMPLATE_REPLACE = <!-- qooxdoo-script-block -->
endif







################################################################################
# DETAILED PATH CONFIGURATION
################################################################################

#
# The source folder of your application from the directory which contains the
# Makefile (if defined relatively). This folder should contain all your
# application class files and resources. The default is ./source.
#
ifndef APPLICATION_SOURCE_PATH
  APPLICATION_SOURCE_PATH = ./source
endif

#
# The build folder of your application relative to the directory, which contains the
# Makefile (if defined relatively). This is the folder where the application
# self-contained build is generated to. The default is ./build.
#
ifndef APPLICATION_BUILD_PATH
  APPLICATION_BUILD_PATH = ./build
endif

#
# The API folder of your application from the directory which contains the
# Makefile (if defined relatively). This is the destination target where the
# self-contained API viewer should resist after a "make api".
# The default is ./api.
#
ifndef APPLICATION_API_PATH
  APPLICATION_API_PATH = ./api
endif

#
# Define the debug location from the directory which contains the
# Makefile (if defined relatively). The default is ./debug.
#
ifndef APPLICATION_DEBUG_PATH
  APPLICATION_DEBUG_PATH = ./debug
endif

#
# Define the publishing location from the directory which contains the
# Makefile (if defined relatively). Could be any rsync compatible url/path
# The default is ./publish.
#
ifndef APPLICATION_PUBLISH_PATH
  APPLICATION_PUBLISH_PATH = ./publish
endif

#
# The folder that will contain a unit test appliction for your classes, defined
# from the directory which contains the Makefile (if defined relatively). This
# is the destination folder for the "make test" target.  The default is ./test.
#
ifndef APPLICATION_TEST_PATH
  APPLICATION_TEST_PATH = ./test
endif
 
#
# The folder that will contain assorted tools (e.g. buildtool) that can be
# generated for the current application, defined from the directory which
# contains the Makefile (if defined relatively). This is the destination folder
# for targets like "make buildtool", which will create its own subfolder.  The
# default is ./tool.
#
ifndef APPLICATION_TOOL_PATH
  APPLICATION_TOOL_PATH = ./tool
endif
 
#
# The folder that will contain the buildtool application, defined from the
# directory which contains the Makefile (if defined relatively). This is the
# destination folder for the "make buildtool" target.  The default is
# $(APPLICATION_TOOL_PATH)/tool.
#
ifndef APPLICATION_BUILDTOOL_PATH
  APPLICATION_BUILDTOOL_PATH = $(APPLICATION_TOOL_PATH)/buildtool
endif
 





################################################################################
# OUTPUT OPTIONS
################################################################################

#
# Redefine folder names (inside build/source)
# It is not recommended to change these fundamental settings.
#
ifndef APPLICATION_SCRIPT_FOLDERNAME
  APPLICATION_SCRIPT_FOLDERNAME = script
endif

ifndef APPLICATION_CLASS_FOLDERNAME
  APPLICATION_CLASS_FOLDERNAME = class
endif

ifndef APPLICATION_TRANSLATION_FOLDERNAME
  APPLICATION_TRANSLATION_FOLDERNAME = translation
endif

#
# File name of the generated script
#
ifndef APPLICATION_SCRIPT_FILENAME
  APPLICATION_SCRIPT_FILENAME = $(APPLICATION_NAMESPACE).js
endif






################################################################################
# LINT OPTIONS
################################################################################

#
# A list of valid global identifiers. These identifiers will not be reported
# as errors.
#
ifndef LINT_ALLOWED_GLOBALS
  LINT_ALLOWED_GLOBALS = 
endif






################################################################################
# PROFILER OPTIONS
################################################################################

#
# Whether to enable the profiler (source version)
#
ifndef APPLICATION_PROFILE_SOURCE
  APPLICATION_PROFILE_SOURCE = false
endif


#
# Whether to enable the profiler (build version)
#
ifndef APPLICATION_PROFILE_BUILD
  APPLICATION_PROFILE_BUILD = false
endif






################################################################################
# ADDITIONAL CONFIGURATION
################################################################################

#
# Additional class paths and URIs.
# These should be comma separated.
# The generator option will be automatically added
#
ifndef APPLICATION_ADDITIONAL_CLASS_PATH
  APPLICATION_ADDITIONAL_CLASS_PATH =
endif

ifndef APPLICATION_ADDITIONAL_CLASS_URI
  APPLICATION_ADDITIONAL_CLASS_URI =
endif

#
# Additional options to pass to the generator call of the source version.
# e.g. "--script-output-encoding=ISO-8859-1"
#
ifndef APPLICATION_ADDITIONAL_SOURCE_OPTIONS
  APPLICATION_ADDITIONAL_SOURCE_OPTIONS =
endif

#
# Additional options to pass to the generator call of the build version.
# e.g. "--script-output-encoding=ISO-8859-1"
#
ifndef APPLICATION_ADDITIONAL_BUILD_OPTIONS
  APPLICATION_ADDITIONAL_BUILD_OPTIONS =
endif

#
# Additional params to pass to the xgettext call in exec-*-translation.
# e.g. "--sort-by-file" or "--no-location --sort-output"
#
ifndef APPLICATION_ADDITIONAL_XGETTEXT_PARAMS
  APPLICATION_ADDITIONAL_XGETTEXT_PARAMS = --sort-by-file --add-comments=TRANSLATION
endif







################################################################################
# INCLUDE EXTERNAL MAKEFILES
################################################################################

include $(QOOXDOO_PATH)/frontend/framework/tool/make/compute.mk
include ./my-impl.mk