59 lines
1.3 KiB
Plaintext
59 lines
1.3 KiB
Plaintext
#RULES.ioc
|
|
|
|
ifndef WIN32
|
|
APPDIR := $(shell grep '.*".*App/' st.* | sed -e 's/.*"\(.*App\).*/\1/' | sort -u )
|
|
endif
|
|
|
|
ASCF = $(TOP)/../ascf
|
|
TARGETBIN = $(TOP)/bin/$(ARCH)
|
|
ARCHS = $(BUILD_ARCHS) host cross
|
|
ACTIONS += clean inc depends buildInstall build
|
|
actionArchTargets = $(foreach action, $(ACTIONS) install,\
|
|
$(foreach arch, $(ARCHS), \
|
|
$(action)$(DIVIDER)$(arch)))
|
|
|
|
all install :: inc buildInstall
|
|
|
|
buildInstall: makelinks
|
|
|
|
inc build depends:
|
|
|
|
makelinks:
|
|
ifndef WIN32
|
|
@$(RM) ascf bin vxWorks vxWorks.sym dbd share $(APPDIR)
|
|
ln -s $(ASCF) ascf
|
|
ln -s $(TARGETBIN) bin
|
|
ln -s $(TARGETBIN)/vxWorks vxWorks
|
|
ln -s $(TARGETBIN)/vxWorks.sym vxWorks.sym
|
|
ln -s $(TOP)/dbd dbd
|
|
ifdef SHARE
|
|
ln -s $(SHARE) share
|
|
endif
|
|
@for dir in $(APPDIR) scum ; do \
|
|
if [ $$dir = scum ]; then \
|
|
: ; \
|
|
elif [ -d $(TOP)/$$dir ]; then \
|
|
ln -s $(TOP)/$$dir $$dir ; \
|
|
echo "ln -s $(TOP)/$$dir $$dir" ; \
|
|
elif [ -d $(MASTER_IOCAPPS)/$$dir ]; then \
|
|
ln -s $(MASTER_IOCAPPS)/$$dir $$dir ; \
|
|
echo "ln -s $(MASTER_IOCAPPS)/$$dir $$dir" ; \
|
|
else \
|
|
echo "$$dir not found" ; \
|
|
fi ; \
|
|
done
|
|
endif
|
|
|
|
clean::
|
|
@$(RM) ascf bin vxWorks vxWorks.sym dbd share $(APPDIR)
|
|
|
|
$(actionArchTargets) :%:
|
|
$(MAKE) $(word 1, $(subst $(DIVIDER), ,$@))
|
|
|
|
$(ARCHS):%: install
|
|
|
|
.PHONY :: $(ARCHS) $(ACTIONS)
|
|
.PHONY :: $(actionArchTargets)
|
|
|
|
|