|
1 # |
|
2 # Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). |
|
3 # All rights reserved. |
|
4 # This component and the accompanying materials are made available |
|
5 # under the terms of the License "Symbian Foundation License v1.0" |
|
6 # which accompanies this distribution, and is available |
|
7 # at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". |
|
8 # |
|
9 # Initial Contributors: |
|
10 # Nokia Corporation - initial contribution. |
|
11 # |
|
12 # Contributors: |
|
13 # |
|
14 # Description: |
|
15 # |
|
16 |
|
17 # ============================================================================ |
|
18 # skingenerator.flm |
|
19 # This flm will generate both .skn and also .mif files |
|
20 # |
|
21 # Header file exporting Function Like Makefile (FLM) |
|
22 # The file destinations relative to EPOCROOT |
|
23 # ============================================================================ |
|
24 |
|
25 ## Parameters that are expected |
|
26 # AKNSSKINNAME |
|
27 # AKNSSKINREALNAME |
|
28 # AKNSSKINUID |
|
29 |
|
30 CREATABLEPATHS:= |
|
31 CLEANTARGETS:= |
|
32 TARGETDIRS:= |
|
33 RELEASEABLES:= |
|
34 |
|
35 # Check if all the inputs are present |
|
36 $(if $(AKNSSKINNAME),,$(error Must define AKNSSKINNAME)) |
|
37 $(if $(AKNSSKINREALNAME),,$(error Must define AKNSSKINREALNAME)) |
|
38 $(if $(AKNSSKINUID),,$(error Must define AKNSSKINUID)) |
|
39 |
|
40 # AKNSTARGETDIR --> to copy .skn files |
|
41 # AKNSBMPTARGETDIR --> to copy .mif/.mbm files |
|
42 |
|
43 ifeq ($(PLATFORM),ARMV5) |
|
44 AKNSTARGETDIR:=$(EPOCROOT)/epoc32/data/z/private/10207114/import/$(AKNSSKINUID) |
|
45 AKNSBMPTARGETDIR:=$(EPOCROOT)/epoc32/data/z/resource/skins/$(AKNSSKINUID) |
|
46 else |
|
47 AKNSTARGETDIR:=$(EPOCROOT)/epoc32/release/$(PLATFORM)/$(CFG)/z/private/10207114/import/$(AKNSSKINUID) |
|
48 AKNSBMPTARGETDIR:=$(EPOCROOT)/epoc32/release/$(PLATFORM)/$(CFG)/z/resource/skins/$(AKNSSKINUID) |
|
49 endif |
|
50 |
|
51 CREATABLEPATHS:=$(AKNSTARGETDIR) $(AKNSBMPTARGETDIR) |
|
52 |
|
53 ifeq ($(strip $(AKNSSRCDIR)),) |
|
54 # Output dir for the skins |
|
55 AKNSSRCDIR:=$(EPOCROOT)/epoc32/include/skins/$(AKNSSKINREALNAME) |
|
56 else |
|
57 AKNSSRCDIR:=$(EXTENSION_ROOT)/$(AKNSSRCDIR) |
|
58 endif |
|
59 |
|
60 # By default |
|
61 #AKNSGENDIR:= |
|
62 AKNSDATAGENDIR:=$(EXTENSION_ROOT)/../generated/$(AKNSSKINNAME)/data |
|
63 AKNSTARGETDIR:=$(subst //,/,$(AKNSTARGETDIR)) |
|
64 AKNSBMPTARGETDIR:=$(subst //,/,$(AKNSBMPTARGETDIR)) |
|
65 AKNSSRCDIR:=$(subst //,/,$(AKNSSRCDIR)) |
|
66 AKNSGENDIR:=$(subst //,/,$(AKNSGENDIR)) |
|
67 EPOCTOOLS:=$(subst //,/,$(EPOCTOOLS)) |
|
68 |
|
69 |
|
70 TARGETSKN:=$(AKNSTARGETDIR)/$(AKNSSKINREALNAME).skn |
|
71 TARGETMIF:=$(AKNSBMPTARGETDIR)/$(AKNSSKINREALNAME).mif |
|
72 CREATABLEPATHS:=$(CREATABLEPATHS) $(AKNSGENDIR) $(AKNSDATAGENDIR) |
|
73 |
|
74 ifeq ($(SKINDEBUG),0) |
|
75 $(info <AKNSSKINREALNAME aknsskinrealname=$(AKNSSKINREALNAME)'/>) |
|
76 $(info <TARGETSKN targetskn='$(TARGETSKN)'/>) |
|
77 $(info <TARGETMIF targetmif='$(TARGETMIF)'/>) |
|
78 $(info <AKNSSRCDIR aknssrcdir='$(AKNSSRCDIR)'/>) |
|
79 $(info <AKNSDATAGENDIR aknsdatagendir='$(AKNSDATAGENDIR)'/>) |
|
80 $(info <CREATABLEPATHS creatablepaths='$(CREATABLEPATHS)'/>) |
|
81 endif |
|
82 |
|
83 SKNMIFGUARD:=$(call sanitise,TARGET_$(TARGETMIF)) |
|
84 |
|
85 define generatesknandmif |
|
86 $(SKNMIFGUARD):=1 |
|
87 RELEASEABLES:=$(TARGETSKN) $(TARGETMIF) $(basename $(TARGETMIF)).mbm |
|
88 |
|
89 BITMAP:: $(TARGETMIF) |
|
90 |
|
91 $(TARGETMIF) : $(AKNSDATAGENDIR)/$(AKNSSKINREALNAME).mif |
|
92 $(call startrule,mifmbmcopy,FORCESUCCESS) \ |
|
93 $(GNUCP) $$< $$@ && \ |
|
94 $(GNUCHMOD) a+rw "$$@" && \ |
|
95 $(GNUCP) $$(basename $$<).mbm $$(basename $$@).mbm && \ |
|
96 $(GNUCHMOD) a+rw "$$(basename $$@).mbm" && \ |
|
97 $(GNUCP) $$(basename $$<).skn $(TARGETSKN) && \ |
|
98 $(GNUCHMOD) a+rw "$(TARGETSKN)" \ |
|
99 $(call endrule,mifmbmcopy) |
|
100 |
|
101 $(AKNSDATAGENDIR)/$(AKNSSKINREALNAME).skn : $(SKINCOMPILER) $(AKNSSRCDIR)/$(AKNSSKINNAME).txt |
|
102 $(call startrule,generateskn,FORCESUCCESS) \ |
|
103 cd $(AKNSSRCDIR) && $(SKINCOMPILER) -m$(AKNSDATAGENDIR) -t$(AKNSDATAGENDIR) $(AKNSSKINNAME).txt $(AKNSSKINREALNAME) \ |
|
104 $(call endrule,generateskn) |
|
105 |
|
106 #Add the temporary files to the cleanlist |
|
107 CLEANTARGETS:=$$(CLEANTARGETS) $(addprefix $(AKNSDATAGENDIR)/,$(addprefix $(AKNSSKINREALNAME),.skn .pkg _MIFlist.txt)) |
|
108 |
|
109 $(AKNSDATAGENDIR)/$(AKNSSKINREALNAME).mif : $(MIFTOOL) $(AKNSDATAGENDIR)/$(AKNSSKINREALNAME).skn |
|
110 $(call startrule,generatemif,FORCESUCCESS)\ |
|
111 cd $(AKNSSRCDIR) && \ |
|
112 $(MIFTOOL) $(AKNSSKINREALNAME).mif -F$(AKNSDATAGENDIR)/$(AKNSSKINREALNAME)_MIFList.txt && \ |
|
113 $(GNUCP) $(AKNSSKINREALNAME).mif $(AKNSDATAGENDIR)/$(AKNSSKINREALNAME).mif && \ |
|
114 $(GNUCP) $(AKNSSKINREALNAME).mbm $(AKNSDATAGENDIR)/$(AKNSSKINREALNAME).mbm \ |
|
115 $(call endrule,generatemif) |
|
116 |
|
117 CLEANTARGETS:=$$(CLEANTARGETS) $$(RELEASEABLES) $(addprefix $(AKNSDATAGENDIR)/,$(addprefix $(AKNSSKINREALNAME).,mif mbm)) |
|
118 endef |
|
119 |
|
120 ifeq ($($(SKNMIFGUARD)),) |
|
121 $(eval -$(generatesknandmif)) |
|
122 endif |
|
123 |
|
124 # Create dirs |
|
125 $(call makepath,$(CREATABLEPATHS)) |
|
126 |
|
127 # Clean up |
|
128 $(eval $(call GenerateStandardCleanTarget,$(CLEANTARGETS))) |
|
129 |
|
130 # for the abld -what target |
|
131 $(eval $(call whatmacro,$(RELEASEABLES),WHATBITMAP)) |