## @file # Top-Level Makefile # SUB_DEPTH = . include $(KBUILD_PATH)/subheader.kmk # # Include sub-makefiles # #include $(PATH_SUB_CURRENT)/libdjvu/Makefile.kmk #include $(PATH_SUB_CURRENT)/libjpeg/Makefile.kmk include $(PATH_SUB_CURRENT)/Lucide/Makefile.kmk # # WarpIn & Zip distribution # PATH_OUT ?= . # be on the safe side (we do rmdir -fR of PATH_PACKING) PATH_PACKING = $(PATH_OUT)/dist/packing FILE_VERSION = $(subst $(SP),_,$(subst .,_,$(VERSION)$(if $(BUILD),_$(BUILD)))) LUCIDE_WPI = $(PATH_OUT)/Lucide-$(FILE_VERSION).wpi LUCIDE_ZIP = $(PATH_OUT)/Lucide-$(FILE_VERSION).zip LUCIDE_WIS = $(PATH_PACKING)/wpi/lucide.wis WIC = N:\ecs\install\WARPIN\WIC.EXE LCD_DEF = $(PATH_ROOT)/lucide/gui/lcd.def LUCIDE1_DEF = $(PATH_ROOT)/lucide/gui/lucide1.def LUDJVU_DEF = $(PATH_ROOT)/lucide/plugins/ludjvu/ludjvu.def LUDOC_DEF = $(PATH_ROOT)/lucide/plugins/ludoc/ludoc.def LUJPEG_DEF = $(PATH_ROOT)/lucide/plugins/lujpeg/lujpeg.def LUPOPPLER_DEF = $(PATH_ROOT)/lucide/plugins/lupoppler/lupoppler.def LUGBM_DEF = $(PATH_ROOT)/lucide/plugins/lugbm/lugbm_gcc.def OTHER_CLEAN += $(LUCIDE_WPI) $(LUCIDE_ZIP) $(LUCIDE_WIS) # # Fixme PACKING fails on missing def if this is enabled # # OTHER_CLEAN += $(LUDJVU_DEF) $(LUDOC_DEF) $(LUJPEG_DEF) $(LUPOPPLER_DEF) $(LCD_DEF) $(LUCIDE1_DEF) # # Add target to build the def files from template set/update VERSION, VERSIONDATE # VERSIONTIME and BUILDMACHINE in Config.kmk first. Always run kmk -B DEFINES to # force them to rebuild. # DEFINES: $(LUCIDE1_DEF) $(LCD_DEF) $(LUDJVU_DEF) $(LUDOC_DEF) $(LUJPEG_DEF) $(LUPOPPLER_DEF) $(LUGBM_DEF) $(LUCIDE1_DEF): lucide/gui/lucide1.def.tpl Config.kmk | $$(call DIRDEP,$$(@D)) $(call MSG_L1,Generating $@) $(QUIET)$(SED) \ -e "s;\\\$${VERSION};$(VERSION);g" \ -e "s;\\\$${VERSIONDATE};$(VERSIONDATE);g" \ -e "s;\\\$${VERSIONTIME};$(VERSIONTIME);g" \ -e "s;\\\$${BUILDMACHINE};$(BUILDMACHINE);g" \ --output $@ $< $(LCD_DEF): lucide/gui/lcd.def.tpl Config.kmk | $$(call DIRDEP,$$(@D)) $(call MSG_L1,Generating $@) $(QUIET)$(SED) \ -e "s;\\\$${VERSION};$(VERSION);g" \ -e "s;\\\$${VERSIONDATE};$(VERSIONDATE);g" \ -e "s;\\\$${VERSIONTIME};$(VERSIONTIME);g" \ -e "s;\\\$${BUILDMACHINE};$(BUILDMACHINE);g" \ --output $@ $< $(LUDJVU_DEF): Lucide/plugins/ludjvu/ludjvu.def.tpl Config.kmk | $$(call DIRDEP,$$(@D)) $(call MSG_L1,Generating $@) $(QUIET)$(SED) \ -e "s;\\\$${VERSION};$(VERSION);g" \ -e "s;\\\$${VERSIONDATE};$(VERSIONDATE);g" \ -e "s;\\\$${VERSIONTIME};$(VERSIONTIME);g" \ -e "s;\\\$${BUILDMACHINE};$(BUILDMACHINE);g" \ --output $@ $< $(LUDOC_DEF): Lucide/plugins/ludoc/ludoc.def.tpl Config.kmk | $$(call DIRDEP,$$(@D)) $(call MSG_L1,Generating $@) $(QUIET)$(SED) \ -e "s;\\\$${VERSION};$(VERSION);g" \ -e "s;\\\$${VERSIONDATE};$(VERSIONDATE);g" \ -e "s;\\\$${VERSIONTIME};$(VERSIONTIME);g" \ -e "s;\\\$${BUILDMACHINE};$(BUILDMACHINE);g" \ --output $@ $< $(LUJPEG_DEF): Lucide/plugins/lujpeg/lujpeg.def.tpl Config.kmk | $$(call DIRDEP,$$(@D)) $(call MSG_L1,Generating $@) $(QUIET)$(SED) \ -e "s;\\\$${VERSION};$(VERSION);g" \ -e "s;\\\$${VERSIONDATE};$(VERSIONDATE);g" \ -e "s;\\\$${VERSIONTIME};$(VERSIONTIME);g" \ -e "s;\\\$${BUILDMACHINE};$(BUILDMACHINE);g" \ --output $@ $< $(LUPOPPLER_DEF): Lucide/plugins/lupoppler/lupoppler.def.tpl Config.kmk | $$(call DIRDEP,$$(@D)) $(call MSG_L1,Generating $@) $(QUIET)$(SED) \ -e "s;\\\$${VERSION};$(VERSION);g" \ -e "s;\\\$${VERSIONDATE};$(VERSIONDATE);g" \ -e "s;\\\$${VERSIONTIME};$(VERSIONTIME);g" \ -e "s;\\\$${BUILDMACHINE};$(BUILDMACHINE);g" \ --output $@ $< $(LUGBM_DEF): Lucide/plugins/lugbm/lugbm.def.tpl Config.kmk | $$(call DIRDEP,$$(@D)) $(call MSG_L1,Generating $@) $(QUIET)$(SED) \ -e "s;\\\$${GBMVERSION};$(GBMVERSION);g" \ -e "s;\\\$${VERSIONDATE};$(VERSIONDATE);g" \ -e "s;\\\$${VERSIONTIME};$(VERSIONTIME);g" \ -e "s;\\\$${BUILDMACHINE};$(BUILDMACHINE);g" \ --output $@ $< ifeq ($(IN_PACKING),) # # Special packing target sets a magic variable and restarts # (to avoid extra INSTALLS targets during regular non-packing kmk invocations) # PACKING = do_packing PACKING: $(RM) -fR $(PATH_PACKING) $(QUIET)$(MAKE) IN_PACKING=1 uninstall rebuild packing fastpacking: $(RM) -fR $(PATH_PACKING) $(QUIET)$(MAKE) IN_PACKING=1 uninstall packing fastestpacking: $(QUIET)$(MAKE) IN_PACKING=1 packing else # # Real packing rules # INSTALLS = Lucide_wpi_1 Lucide_wpi_2 Lucide_wpi_3 Lucide_wpi_4 Lucide_wpi_5 \ Lucide_wpi_6 Lucide_wpi_7 Lucide_wpi_8 Lucide_wpi_9 Lucide_wpi_10 \ Lucide_zip PACKING = $(LUCIDE_WPI) $(LUCIDE_ZIP) # # WPI # Lucide_wpi_1_INST = $(notdir $(PATH_PACKING))/wpi/1/ Lucide_wpi_1_SOURCES = \ $(Lucide_1_TARGET) \ $(Lucide_dll_1_TARGET) \ $(ludoc_1_TARGET) \ $(abspathex $(Lucide_doc_SOURCES),$(Lucide_doc_DEFPATH)) \ $(abspathex $(Lucide_lng_SOURCES),$(Lucide_lng_DEFPATH)) Lucide_wpi_2_INST = $(notdir $(PATH_PACKING))/wpi/2/ Lucide_wpi_2_SOURCES = $(lupoppler_1_TARGET) Lucide_wpi_3_INST = $(notdir $(PATH_PACKING))/wpi/3/ Lucide_wpi_3_SOURCES = $(ludjvu_1_TARGET) Lucide_wpi_4_INST = $(notdir $(PATH_PACKING))/wpi/4/ Lucide_wpi_4_SOURCES = $(lujpeg_1_TARGET) Lucide_wpi_5_INST = $(notdir $(PATH_PACKING))/wpi/5/ Lucide_wpi_5_SOURCES = warpin/LngDummy.txt Lucide_wpi_6_INST = $(notdir $(PATH_PACKING))/wpi/6/ Lucide_wpi_6_SOURCES = warpin/LngDummy.txt Lucide_wpi_7_INST = $(notdir $(PATH_PACKING))/wpi/7/ Lucide_wpi_7_SOURCES = warpin/LngDummy.txt Lucide_wpi_8_INST = $(notdir $(PATH_PACKING))/wpi/8/ Lucide_wpi_8_SOURCES = warpin/LngDummy.txt Lucide_wpi_9_INST = $(notdir $(PATH_PACKING))/wpi/9/ Lucide_wpi_9_SOURCES = warpin/LngDummy.txt Lucide_wpi_10_INST = $(notdir $(PATH_PACKING))/wpi/10/ Lucide_wpi_10_SOURCES = warpin/LngDummy.txt $(LUCIDE_WPI): $(LUCIDE_WIS) install $(call MSG_L1,Packing $@) $(QUIET)$(RM) -f $@ $(QUIET)echo > $(abspathex $(Lucide_wpi_1_INST),$(PATH_OUT)/dist)/lucide.fcf $(QUIET)$(WIC) -a $@ \ $(foreach p,$(patsubst Lucide_wpi_%,%,$(filter Lucide_wpi_%,$(INSTALLS))),\ $(p) -c$(abspathex $(Lucide_wpi_$(p)_INST),$(PATH_OUT)/dist) \*) \ -s $(LUCIDE_WIS) -v $(LUCIDE_WIS): warpin/lucide.wis.tpl Config.kmk | $$(call DIRDEP,$$(@D)) $(call MSG_L1,Generating $@) $(QUIET)$(SED) \ -e "s;\\\$${VERSION};$(VERSION);g" \ -e "s;\\\$${BUILD};$(BUILD);g" \ -e "s;\\\$${WPIVERSION};$(subst .,\\\,$(VERSION));g" \ -e "s;\\\$${WPIBUILD};$(WPIBUILD);g" \ --output $@ $< BLDDIRS += $(dir $(LUCIDE_WIS)) # # ZIP (puts all WPI packages together) # Lucide_zip_INST = $(notdir $(PATH_PACKING))/zip/ Lucide_zip_SOURCES = \ $(foreach p,$(patsubst Lucide_wpi_%,%,$(filter Lucide_wpi_%,$(INSTALLS))),\ $(Lucide_wpi_$(p)_SOURCES)) $(LUCIDE_ZIP): install $(call MSG_L1,Packing $@) -$(QUIET)$(RM) -f $@ $(QUIET)$(REDIRECT) -C $(PATH_PACKING)/zip -- zip -Sr9 $@ \* endif # IN_PACKING include $(FILE_KBUILD_SUB_FOOTER)