Mercurial > hg > Members > kono > nitros9-code
view 3rdparty/packages/multivue/makefile @ 2848:94197db917c9 lwtools-port
Makefiles: Call OS9ATTR with multiple files (part 1)
Instead of spawning a os9 process for each file, call
it once with the whole bunch of files.
This can speed up the build process significantly when applied
globally. For now, do the special cases having "notdir".
author | Tormod Volden <debian.tormod@gmail.com> |
---|---|
date | Fri, 12 Jul 2013 00:01:00 +0200 |
parents | c1892376e7a7 |
children | 84d9d5765057 |
line wrap: on
line source
include $(NITROS9DIR)/rules.mak DSK68_FLOPPY = multivue_6809.dsk DSK63_FLOPPY = multivue_6309.dsk DSK68_DW = multivue_6809_dw.dsk DSK63_DW = multivue_6309_dw.dsk DSK68_DW_BECKER = multivue_6809_becker.dsk DSK63_DW_BECKER = multivue_6309_becker.dsk CMDS68 = $(shell $(CD) cmds_6809; make --no-print-directory showobjs) CMDS63 = $(shell $(CD) cmds_6309; make --no-print-directory showobjs) ICONS = icon.demo SYSBIN = $(shell $(CD) sys; make --no-print-directory showbinobjs) SYSTEXT = $(shell $(CD) sys; make --no-print-directory showtextobjs) DEMO = aif.dmo ROOTFILES = startup DSKS = $(DSK68_FLOPPY) $(DSK63_FLOPPY) $(DSK68_DW) $(DSK63_DW) $(DSK68_DW_BECKER) $(DSK63_DW_BECKER) MD68 = $(LEVEL2)/coco3/modules MD63 = $(LEVEL2)/coco3_6309/modules KERNEL68_FLOPPY = $(MD68)/rel_40 $(MD68)/boot_1773_6ms $(MD68)/krn KERNEL63_FLOPPY = $(MD63)/rel_40 $(MD63)/boot_1773_6ms $(MD63)/krn KERNEL68_DW = $(MD68)/rel_40 $(MD68)/boot_dw $(MD68)/krn KERNEL63_DW = $(MD63)/rel_40 $(MD63)/boot_dw $(MD63)/krn KERNEL68_DW_BECKER = $(MD68)/rel_40 $(MD68)/boot_dw_becker $(MD68)/krn KERNEL63_DW_BECKER = $(MD63)/rel_40 $(MD63)/boot_dw_becker $(MD63)/krn BOOTFILE68_FLOPPY = $(MD68)/krnp2 $(MD68)/ioman $(MD68)/init \ $(MD68)/rbf.mn \ $(MD68)/rb1773.dr $(MD68)/ddd0_40d.dd \ $(MD68)/d0_40d.dd $(MD68)/d1_40d.dd \ $(MD68)/scf.mn $(MD68)/vtio.dr \ $(MD68)/keydrv_cc3.sb $(MD68)/joydrv_joy.sb $(MD68)/snddrv_cc3.sb \ $(MD68)/cowin.io $(MD68)/term_win40.dt \ $(MD68)/w.dw $(MD68)/w1.dw $(MD68)/w2.dw $(MD68)/w3.dw \ $(MD68)/w4.dw $(MD68)/w5.dw $(MD68)/w6.dw $(MD68)/w7.dw \ $(MD68)/clock_60hz $(MD68)/clock2_soft \ $(MD68)/sysgo_dd BOOTFILE63_FLOPPY = $(MD63)/krnp2 $(MD63)/ioman $(MD63)/init \ $(MD63)/rbf.mn \ $(MD63)/rb1773.dr $(MD63)/ddd0_40d.dd \ $(MD63)/d0_40d.dd $(MD63)/d1_40d.dd \ $(MD63)/scf.mn $(MD63)/vtio.dr \ $(MD63)/keydrv_cc3.sb $(MD63)/joydrv_joy.sb $(MD63)/snddrv_cc3.sb \ $(MD63)/cowin.io $(MD63)/term_win40.dt \ $(MD63)/w.dw $(MD63)/w1.dw $(MD63)/w2.dw $(MD63)/w3.dw \ $(MD63)/w4.dw $(MD63)/w5.dw $(MD63)/w6.dw $(MD63)/w7.dw \ $(MD63)/clock_60hz $(MD63)/clock2_soft \ $(MD63)/sysgo_dd BOOTFILE68_DW = $(MD68)/krnp2 $(MD68)/ioman $(MD68)/init \ $(MD68)/rbf.mn \ $(MD68)/rbdw.dr $(MD68)/dwio.sb $(MD68)/ddx0.dd \ $(MD68)/rb1773.dr $(MD68)/d0_40d.dd $(MD68)/d1_40d.dd \ $(MD68)/scf.mn $(MD68)/vtio.dr \ $(MD68)/keydrv_cc3.sb $(MD68)/joydrv_joy.sb $(MD68)/snddrv_cc3.sb \ $(MD68)/cowin.io $(MD68)/term_win40.dt \ $(MD68)/w.dw $(MD68)/w1.dw $(MD68)/w2.dw $(MD68)/w3.dw \ $(MD68)/w4.dw $(MD68)/w5.dw $(MD68)/w6.dw $(MD68)/w7.dw \ $(MD68)/clock_60hz $(MD68)/clock2_dw \ $(MD68)/sysgo_dd BOOTFILE68_DW_BECKER = $(MD68)/krnp2 $(MD68)/ioman $(MD68)/init \ $(MD68)/rbf.mn \ $(MD68)/rbdw.dr $(MD68)/dwio_becker.sb $(MD68)/ddx0.dd \ $(MD68)/rb1773.dr $(MD68)/d0_40d.dd $(MD68)/d1_40d.dd \ $(MD68)/scf.mn $(MD68)/vtio.dr \ $(MD68)/keydrv_cc3.sb $(MD68)/joydrv_joy.sb $(MD68)/snddrv_cc3.sb \ $(MD68)/cowin.io $(MD68)/term_win40.dt \ $(MD68)/w.dw $(MD68)/w1.dw $(MD68)/w2.dw $(MD68)/w3.dw \ $(MD68)/w4.dw $(MD68)/w5.dw $(MD68)/w6.dw $(MD68)/w7.dw \ $(MD68)/clock_60hz $(MD68)/clock2_dw \ $(MD68)/sysgo_dd BOOTFILE63_DW = $(MD63)/krnp2 $(MD63)/ioman $(MD63)/init \ $(MD63)/rbf.mn \ $(MD63)/rbdw.dr $(MD63)/dwio.sb $(MD63)/ddx0.dd \ $(MD68)/rb1773.dr $(MD68)/d0_40d.dd $(MD68)/d1_40d.dd \ $(MD63)/scf.mn $(MD63)/vtio.dr \ $(MD63)/keydrv_cc3.sb $(MD63)/joydrv_joy.sb $(MD63)/snddrv_cc3.sb \ $(MD63)/cowin.io $(MD63)/term_win40.dt \ $(MD63)/w.dw $(MD63)/w1.dw $(MD63)/w2.dw $(MD63)/w3.dw \ $(MD63)/w4.dw $(MD63)/w5.dw $(MD63)/w6.dw $(MD63)/w7.dw \ $(MD63)/clock_60hz $(MD63)/clock2_dw \ $(MD63)/sysgo_dd BOOTFILE63_DW_BECKER = $(MD63)/krnp2 $(MD63)/ioman $(MD63)/init \ $(MD63)/rbf.mn \ $(MD63)/rbdw.dr $(MD63)/dwio.sb $(MD63)/ddx0.dd \ $(MD68)/rb1773.dr $(MD68)/d0_40d.dd $(MD68)/d1_40d.dd \ $(MD63)/scf.mn $(MD63)/vtio.dr \ $(MD63)/keydrv_cc3.sb $(MD63)/joydrv_joy.sb $(MD63)/snddrv_cc3.sb \ $(MD63)/cowin.io $(MD63)/term_win40.dt \ $(MD63)/w.dw $(MD63)/w1.dw $(MD63)/w2.dw $(MD63)/w3.dw \ $(MD63)/w4.dw $(MD63)/w5.dw $(MD63)/w6.dw $(MD63)/w7.dw \ $(MD63)/clock_60hz $(MD63)/clock2_dw \ $(MD63)/sysgo_dd # Make all components all: @$(ECHO) "**************************************************" @$(ECHO) "* *" @$(ECHO) "* Multi-Vue *" @$(ECHO) "* *" @$(ECHO) "**************************************************" $(CD) cmds_6809; make $(CD) cmds_6309; make $(CD) sys; make # Clean all components clean: dskclean $(RM) os9boot $(CD) cmds_6809; make clean $(CD) cmds_6309; make clean $(CD) sys; make clean dsk: all $(DSKS) $(DSK68_FLOPPY): $(RM) $@ $(OS9FORMAT_DS40) $@ -q -n"Multi-Vue" $(MERGE) $(BOOTFILE68_FLOPPY)>os9boot $(MERGE) $(KERNEL68_FLOPPY)>kernel $(OS9GEN) $@ -b=os9boot -t=kernel $(RM) os9boot kernel $(MAKDIR) $@,CMDS $(MAKDIR) $@,CMDS/ICONS $(MAKDIR) $@,SYS $(MAKDIR) $@,DEMO $(CD) cmds_6809; $(CP) $(CMDS68) ../$@,CMDS $(OS9ATTR_EXEC) $(foreach file,$(notdir $(CMDS68)),$@,CMDS/$(file)) $(OS9RENAME) $@,CMDS/gshell AutoEx $(CD) icons; $(CP) $(ICONS) ../$@,CMDS/ICONS $(foreach file, $(ICONS), $(OS9ATTR_EXEC) $@,CMDS/ICONS/$(file);) $(CD) sys; $(CP) $(SYSBIN) ../$@,SYS $(foreach file, $(SYSBIN), $(OS9ATTR_TEXT) $@,SYS/$(file);) $(CD) sys; $(CPL) $(SYSTEXT) ../$@,SYS $(foreach file, $(SYSTEXT), $(OS9ATTR_TEXT) $@,SYS/$(file);) $(CD) demo; $(CPL) $(DEMO) ../$@,DEMO $(foreach file, $(DEMO), $(OS9ATTR_TEXT) $@,DEMO/$(file);) $(CPL) $(ROOTFILES) $@,. $(foreach file, $(ROOTFILES), $(OS9ATTR_TEXT) $@,$(file);) $(DSK63_FLOPPY): $(RM) $@ $(OS9FORMAT_DS40) $@ -q -n"Multi-Vue" $(MERGE) $(BOOTFILE63_FLOPPY)>os9boot $(MERGE) $(KERNEL63_FLOPPY)>kernel $(OS9GEN) $@ -b=os9boot -t=kernel $(RM) os9boot kernel $(MAKDIR) $@,CMDS $(MAKDIR) $@,CMDS/ICONS $(MAKDIR) $@,SYS $(MAKDIR) $@,DEMO $(CD) cmds_6309; $(CP) $(CMDS63) ../$@,CMDS $(OS9ATTR_EXEC) $(foreach file,$(notdir $(CMDS63)),$@,CMDS/$(file)) $(OS9RENAME) $@,CMDS/gshell AutoEx $(CD) icons; $(CP) $(ICONS) ../$@,CMDS/ICONS $(foreach file, $(ICONS), $(OS9ATTR_EXEC) $@,CMDS/ICONS/$(file);) $(CD) sys; $(CP) $(SYSBIN) ../$@,SYS $(foreach file, $(SYSBIN), $(OS9ATTR_TEXT) $@,SYS/$(file);) $(CD) sys; $(CPL) $(SYSTEXT) ../$@,SYS $(foreach file, $(SYSTEXT), $(OS9ATTR_TEXT) $@,SYS/$(file);) $(CD) demo; $(CPL) $(DEMO) ../$@,DEMO $(foreach file, $(DEMO), $(OS9ATTR_TEXT) $@,DEMO/$(file);) $(CPL) $(ROOTFILES) $@,. $(foreach file, $(ROOTFILES), $(OS9ATTR_TEXT) $@,$(file);) $(DSK68_DW): $(RM) $@ $(OS9FORMAT_SS80) $@ -q -n"Multi-Vue" $(MERGE) $(BOOTFILE68_DW)>os9boot $(MERGE) $(KERNEL68_DW)>kernel $(OS9GEN) $@ -b=os9boot -t=kernel $(RM) os9boot kernel $(MAKDIR) $@,CMDS $(MAKDIR) $@,CMDS/ICONS $(MAKDIR) $@,SYS $(MAKDIR) $@,DEMO $(CD) cmds_6809; $(CP) $(CMDS68) ../$@,CMDS $(OS9ATTR_EXEC) $(foreach file,$(notdir $(CMDS68)),$@,CMDS/$(file)) $(OS9RENAME) $@,CMDS/gshell AutoEx $(CD) icons; $(CP) $(ICONS) ../$@,CMDS/ICONS $(foreach file, $(ICONS), $(OS9ATTR_EXEC) $@,CMDS/ICONS/$(file);) $(CD) sys; $(CP) $(SYSBIN) ../$@,SYS $(foreach file, $(SYSBIN), $(OS9ATTR_TEXT) $@,SYS/$(file);) $(CD) sys; $(CPL) $(SYSTEXT) ../$@,SYS $(foreach file, $(SYSTEXT), $(OS9ATTR_TEXT) $@,SYS/$(file);) $(CD) demo; $(CPL) $(DEMO) ../$@,DEMO $(foreach file, $(DEMO), $(OS9ATTR_TEXT) $@,DEMO/$(file);) $(CPL) $(ROOTFILES) $@,. $(foreach file, $(ROOTFILES), $(OS9ATTR_TEXT) $@,$(file);) $(DSK68_DW_BECKER): $(RM) $@ $(OS9FORMAT_SS80) $@ -q -n"Multi-Vue" $(MERGE) $(BOOTFILE68_DW_BECKER)>os9boot $(MERGE) $(KERNEL68_DW_BECKER)>kernel $(OS9GEN) $@ -b=os9boot -t=kernel $(RM) os9boot kernel $(MAKDIR) $@,CMDS $(MAKDIR) $@,CMDS/ICONS $(MAKDIR) $@,SYS $(MAKDIR) $@,DEMO $(CD) cmds_6809; $(CP) $(CMDS68) ../$@,CMDS $(OS9ATTR_EXEC) $(foreach file,$(notdir $(CMDS68)),$@,CMDS/$(file)) $(OS9RENAME) $@,CMDS/gshell AutoEx $(CD) icons; $(CP) $(ICONS) ../$@,CMDS/ICONS $(foreach file, $(ICONS), $(OS9ATTR_EXEC) $@,CMDS/ICONS/$(file);) $(CD) sys; $(CP) $(SYSBIN) ../$@,SYS $(foreach file, $(SYSBIN), $(OS9ATTR_TEXT) $@,SYS/$(file);) $(CD) sys; $(CPL) $(SYSTEXT) ../$@,SYS $(foreach file, $(SYSTEXT), $(OS9ATTR_TEXT) $@,SYS/$(file);) $(CD) demo; $(CPL) $(DEMO) ../$@,DEMO $(foreach file, $(DEMO), $(OS9ATTR_TEXT) $@,DEMO/$(file);) $(CPL) $(ROOTFILES) $@,. $(foreach file, $(ROOTFILES), $(OS9ATTR_TEXT) $@,$(file);) $(DSK63_DW): $(RM) $@ $(OS9FORMAT_SS80) $@ -q -n"Multi-Vue" $(MERGE) $(BOOTFILE63_DW)>os9boot $(MERGE) $(KERNEL63_DW)>kernel $(OS9GEN) $@ -b=os9boot -t=kernel $(RM) os9boot kernel $(MAKDIR) $@,CMDS $(MAKDIR) $@,CMDS/ICONS $(MAKDIR) $@,SYS $(MAKDIR) $@,DEMO $(CD) cmds_6309; $(CP) $(CMDS63) ../$@,CMDS $(OS9ATTR_EXEC) $(foreach file,$(notdir $(CMDS63)),$@,CMDS/$(file)) $(OS9RENAME) $@,CMDS/gshell AutoEx $(CD) icons; $(CP) $(ICONS) ../$@,CMDS/ICONS $(foreach file, $(ICONS), $(OS9ATTR_EXEC) $@,CMDS/ICONS/$(file);) $(CD) sys; $(CP) $(SYSBIN) ../$@,SYS $(foreach file, $(SYSBIN), $(OS9ATTR_TEXT) $@,SYS/$(file);) $(CD) sys; $(CPL) $(SYSTEXT) ../$@,SYS $(foreach file, $(SYSTEXT), $(OS9ATTR_TEXT) $@,SYS/$(file);) $(CD) demo; $(CPL) $(DEMO) ../$@,DEMO $(foreach file, $(DEMO), $(OS9ATTR_TEXT) $@,DEMO/$(file);) $(CPL) $(ROOTFILES) $@,. $(foreach file, $(ROOTFILES), $(OS9ATTR_TEXT) $@,$(file);) $(DSK63_DW_BECKER): $(RM) $@ $(OS9FORMAT_SS80) $@ -q -n"Multi-Vue" $(MERGE) $(BOOTFILE63_DW_BECKER)>os9boot $(MERGE) $(KERNEL63_DW_BECKER)>kernel $(OS9GEN) $@ -b=os9boot -t=kernel $(RM) os9boot kernel $(MAKDIR) $@,CMDS $(MAKDIR) $@,CMDS/ICONS $(MAKDIR) $@,SYS $(MAKDIR) $@,DEMO $(CD) cmds_6309; $(CP) $(CMDS63) ../$@,CMDS $(OS9ATTR_EXEC) $(foreach file,$(notdir $(CMDS63)),$@,CMDS/$(file)) $(OS9RENAME) $@,CMDS/gshell AutoEx $(CD) icons; $(CP) $(ICONS) ../$@,CMDS/ICONS $(foreach file, $(ICONS), $(OS9ATTR_EXEC) $@,CMDS/ICONS/$(file);) $(CD) sys; $(CP) $(SYSBIN) ../$@,SYS $(foreach file, $(SYSBIN), $(OS9ATTR_TEXT) $@,SYS/$(file);) $(CD) sys; $(CPL) $(SYSTEXT) ../$@,SYS $(foreach file, $(SYSTEXT), $(OS9ATTR_TEXT) $@,SYS/$(file);) $(CD) demo; $(CPL) $(DEMO) ../$@,DEMO $(foreach file, $(DEMO), $(OS9ATTR_TEXT) $@,DEMO/$(file);) $(CPL) $(ROOTFILES) $@,. $(foreach file, $(ROOTFILES), $(OS9ATTR_TEXT) $@,$(file);) dskcopy: dsk $(CP) $(DSKS) $(DSKDIR) dskclean: $(RM) $(DSKS) info: @$(ECHO) "*** Multi-Vue ***" @$(foreach dsk, $(DSKS), $(ECHO) $(dsk);)