source: trunk/Makefile.kmk @ 426

Last change on this file since 426 was 424, checked in by dmik, 11 years ago

kmk: Added the 'packing' target to automatically generate the WPI and ZIP archives.

File size: 2.2 KB
Line 
1## @file
2# Top-Level Makefile
3#
4
5SUB_DEPTH = .
6include $(KBUILD_PATH)/subheader.kmk
7
8#
9# Include sub-makefiles
10#
11include $(PATH_SUB_CURRENT)/poppler/Makefile.kmk
12include $(PATH_SUB_CURRENT)/libdjvu/Makefile.kmk
13include $(PATH_SUB_CURRENT)/libjpeg/Makefile.kmk
14include $(PATH_SUB_CURRENT)/Lucide/Makefile.kmk
15
16#
17# WarpIn & Zip distribution
18#
19
20PATH_PACKING     = $(PATH_OUT)/packing
21
22LUCIDE_WPI       = $(PATH_OUT)/Lucide-$(subst .,_,$(VERSION)).wpi
23LUCIDE_ZIP       = $(PATH_OUT)/Lucide-$(subst .,_,$(VERSION)).zip
24
25OTHER_CLEAN     += $(LUCIDE_WPI) $(LUCIDE_ZIP)
26
27clean:
28        $(RM) -fR $(PATH_PACKING)
29
30ifeq ($(IN_PACKING),)
31
32#
33# Special packing target sets a magic variable and restarts
34# (to avoid extra INSTALLS targets during regular non-packing kmk invocations)
35#
36PACKING         += do_packing
37
38do_packing:
39        $(QUIET)$(MAKE) IN_PACKING=1 uninstall clean packing
40
41fastpacking:
42        $(QUIET)$(MAKE) IN_PACKING=1 packing
43
44else
45
46#
47# Real packing rules
48#
49INSTALLS        += Lucide_wpi_1 Lucide_wpi_2 Lucide_wpi_3 Lucide_wpi_4 Lucide_zip
50PACKING         += $(LUCIDE_WPI) $(LUCIDE_ZIP)
51
52Lucide_wpi_1_INST                = $(notdir $(PATH_PACKING))/wpi/1
53Lucide_wpi_1_SOURCES    := \
54        $(filter-out %/ludjvu.dll \
55                                 %/lujpeg.dll \
56                                 %/lupplr.dll,$(wildcard $(PATH_BIN)/*))
57
58Lucide_wpi_2_INST                = $(notdir $(PATH_PACKING))/wpi/2
59Lucide_wpi_2_SOURCES    := $(PATH_BIN)/ludjvu.dll
60
61Lucide_wpi_3_INST                = $(notdir $(PATH_PACKING))/wpi/3
62Lucide_wpi_3_SOURCES    := $(PATH_BIN)/lujpeg.dll
63
64Lucide_wpi_4_INST                = $(notdir $(PATH_PACKING))/wpi/4
65Lucide_wpi_4_SOURCES    := $(PATH_BIN)/lupplr.dll
66
67$(LUCIDE_WPI): all
68        $(call MSG_L1,Packing $@)
69        -$(QUIET)$(RM) -f $@
70        $(QUIET)echo > $(abspathex $(Lucide_wpi_1_INST),$(PATH_OUT))/lucide.fcf
71        $(QUIET)wic -a $@ \
72                $(foreach p,$(patsubst Lucide_wpi_%,%,$(filter Lucide_wpi_%,$(INSTALLS))),\
73                        $(p) -c$(abspathex $(Lucide_wpi_$(p)_INST),$(PATH_OUT)) \*) \
74                -s warpin/lucide_wpi.wis
75
76Lucide_zip_INST          = $(notdir $(PATH_PACKING))/zip
77Lucide_zip_SOURCES      := $(filter-out %/lucide.fcf,$(wildcard $(PATH_BIN)/*))
78
79$(LUCIDE_ZIP): all
80        $(call MSG_L1,Packing $@)
81        -$(QUIET)$(RM) -f $@
82        $(QUIET)$(REDIRECT) -C $(PATH_PACKING)/zip -- zip -Sr9 $@ \*
83
84endif
85
86include $(FILE_KBUILD_SUB_FOOTER)
87
Note: See TracBrowser for help on using the repository browser.