1 ###############################################################################
5 # Author: hzhao (09/2007)
7 ###############################################################################
9 # This file is included as sub-make in rules.mk. It is slower than defining
10 # these targets inline in each Makefile, but it just saves a lot of work
11 # preparing these targets for each directory.
13 unexport SUB_CLEAN_DIRS
15 # delete all intermediate files and built targets
18 $(V
)$(RM
) $(SUB_INTERMEDIATE_FILES
) $(SUB_OBJECTS
) $(SUB_OBJECTS
:.o
=.d
)
20 $(V
)for mdir in
$(dir $(wildcard $(addsuffix /Makefile
, \
21 $(SUB_CLEAN_DIRS
) $(SUB_PROGRAMS
) $(SUB_LIB_TARGETS
)))); \
22 do
$(MAKE
) -C
$$mdir clobber; done
23 $(V
)for mdir in
$(INTERMEDIATE_DIRS
); do
rm -fR
$$mdir; done
24 $(V
)$(RM
) *.merge-left.
* *.merge-right.
* *.working www.pid
25 $(V
)$(RM
) $(LIB_DIR
)/lib
$(PROJECT_NAME
).so
$(LIB_DIR
)/lib
$(PROJECT_NAME
).a
26 $(V
)$(RM
) $(filter-out $(SUB_PROGRAMS
) $(SUB_LIB_TARGETS
), $(TARGETS
))
27 $(V
)find
$(OUT_DIR
) -name
"*.[od]" -delete
28 $(V
)find .
-name
"*~" -delete
37 $(V
)for mdir in
$(SUB_PROGRAMS
); do
$(MAKE
) -C
$$mdir cleartargets
; done
38 $(V
)for mdir in
$(SUB_LIB_TARGETS
); do
$(MAKE
) -C
$$mdir cleartargets
; done
40 # default no-op "make install"
43 $(V
)for mdir in
$(SUB_PROGRAMS
); do
$(MAKE
) -C
$$mdir install; done
44 $(V
)for mdir in
$(SUB_LIB_TARGETS
); do
$(MAKE
) -C
$$mdir install; done
48 @echo
$(TARGETS
) | tr
' ' '\n'
49 $(V
)for mdir in
$(SUB_PROGRAMS
); do
$(MAKE
) -C
$$mdir list-targets
; done
50 $(V
)for mdir in
$(SUB_LIB_TARGETS
); do
$(MAKE
) -C
$$mdir list-targets
; done
54 @echo
$(SOURCES
) | tr
' ' '\n'
55 $(V
)for mdir in
$(SUB_PROGRAMS
); do
$(MAKE
) -C
$$mdir list-sources
; done
56 $(V
)for mdir in
$(SUB_LIB_TARGETS
); do
$(MAKE
) -C
$$mdir list-sources
; done
58 .EXPORT_ALL_VARIABLES
:;
59 unexport SUB_PROGRAMS SUB_LIB_TARGETS