source: CMT/v1r12p20020606/fragments/constituent_synchronized @ 1

Last change on this file since 1 was 1, checked in by arnault, 19 years ago

Import all tags

File size: 1.6 KB
Line 
1
2$(bin)${CONSTITUENT}.make :: build_library_links dirs
3        @echo "------> (constituents.make) Building ${CONSTITUENT}.make"; \
4          $(cmtexe) build constituent_makefile ${CONSTITUENT} -quiet -tag=$(tags); \
5          if test ! "$(bin)" = "./"; then /bin/mv -f ${CONSTITUENT}.make $(bin); fi
6
7#------------------------------------------------------------------------------------
8#  Create a lock file while building the constituent. keep sleeping while another
9# process builds this constituent.
10#  This is only useful when the result of the build is in some shared directory
11#  (eg for code generators)
12#
13${CONSTITUENT} :: $(${CONSTITUENT}_dependencies) $(bin)${CONSTITUENT}.make
14        @a=`ls ${CONSTITUENT}_*.lock 2>/dev/null`; \
15        if test ! "$${a}" = ""; then \
16          echo "==> ${CONSTITUENT} being built, waiting for completion..."; \
17          while test -f $${a}; do \
18            sleep 1; \
19          done; \
20          echo finished; \
21        else \
22          lockfile=${CONSTITUENT}_$$$$.lock; \
23          trap '/bin/rm -f $${lockfile}; exit $${status}' 0 1 2 15; \
24          touch $${lockfile}; \
25          echo "------> (constituents.make) Starting ${CONSTITUENT}"; \
26          $(MAKE) -f $(bin)${CONSTITUENT}.make $(MAKEFLAGS) ${CONSTITUENT}; \
27          status=$$?; \
28        fi
29
30${CONSTITUENT}clean :: $(${CONSTITUENT}clean_dependencies) ##$(bin)${CONSTITUENT}.make
31        @if test -f $(bin)${CONSTITUENT}.make; then \
32          echo "------> (constituents.make) Starting ${CONSTITUENT}clean"; \
33          $(MAKE) -f $(bin)${CONSTITUENT}.make $(MAKEFLAGS) ${CONSTITUENT}clean; \
34          /bin/rm -f $(bin)${CONSTITUENT}.make $(bin)${CONSTITUENT}_dependencies.make; \
35        fi; \
36        /bin/rm -f ${CONSTITUENT.stamp}
37
38
39
Note: See TracBrowser for help on using the repository browser.