| 1 | #-----[ Directory ]----------------------------------------
|
|---|
| 2 | DIR_DOC = doc
|
|---|
| 3 | DIR_TEST = SelfTest
|
|---|
| 4 |
|
|---|
| 5 | #-----[ Variable ]-----------------------------------------
|
|---|
| 6 | OBJECTS = $(OBJECTS_COMMON)
|
|---|
| 7 |
|
|---|
| 8 | #-----[ Rules ]--------------------------------------------
|
|---|
| 9 | .PRECIOUS : $(DIR_LIB)/%.a
|
|---|
| 10 | #.NOTPARALLEL : clean help
|
|---|
| 11 |
|
|---|
| 12 | all_component : test_env $(DIR_OBJ) $(DIR_LIB)
|
|---|
| 13 | @\
|
|---|
| 14 | $(MAKE) $(LIBRARY);
|
|---|
| 15 |
|
|---|
| 16 | # if simulator is modelsim, libComponent.a is a directory, else is normal library generated by g++
|
|---|
| 17 |
|
|---|
| 18 | $(DIR_LIB)/%.a : $(SOURCES) $(HEADERS)
|
|---|
| 19 | @\
|
|---|
| 20 | case "${SIMULATOR_SYSTEMC}" in \
|
|---|
| 21 | "modelsim") \
|
|---|
| 22 | $(MODELTECH_VLIB) $@; \
|
|---|
| 23 | $(MODELTECH_SCCOM) $(CFLAGS) $(SOURCES) -work $@; \
|
|---|
| 24 | ;; \
|
|---|
| 25 | *) \
|
|---|
| 26 | $(MAKE) $(OBJECTS); \
|
|---|
| 27 | if $(TEST) $$? -eq 0; then \
|
|---|
| 28 | $(ECHO) "Archive : $*"; \
|
|---|
| 29 | $(AR) -r $@ $(OBJECTS); \
|
|---|
| 30 | $(RANLIB) $@; \
|
|---|
| 31 | fi; \
|
|---|
| 32 | ;; \
|
|---|
| 33 | esac;
|
|---|
| 34 |
|
|---|
| 35 | $(DIR_LIB) :
|
|---|
| 36 | @\
|
|---|
| 37 | $(ECHO) "Create directory : $@";\
|
|---|
| 38 | $(MKDIR) $@;
|
|---|
| 39 |
|
|---|
| 40 | document :
|
|---|
| 41 | @$(MAKE) --directory=$(DIR_DOC) --makefile=Makefile
|
|---|
| 42 |
|
|---|
| 43 | component_clean :
|
|---|
| 44 | @$(RM) $(LIBRARY)
|
|---|
| 45 | # if $(TEST) -d $(DIR_DOC); then $(MAKE) --directory=$(DIR_DOC) --makefile=Makefile clean; fi;
|
|---|
| 46 |
|
|---|
| 47 | component_clean_all : component_clean
|
|---|
| 48 | @$(RM) $(DIR_LIB)
|
|---|
| 49 | # if $(TEST) -d $(DIR_DOC); then $(MAKE) --directory=$(DIR_DOC) --makefile=Makefile clean_all; fi;
|
|---|
| 50 |
|
|---|
| 51 | component_help :
|
|---|
| 52 | @\
|
|---|
| 53 | $(ECHO) " -----[ Component ]----------------------------------";\
|
|---|
| 54 | $(ECHO) "";\
|
|---|
| 55 | $(ECHO) " * all_component : compile all c++ file and generate library";\
|
|---|
| 56 | $(ECHO) " * document : Generate documantation";\
|
|---|
| 57 | $(ECHO) " * clean : Erase all generate files";\
|
|---|
| 58 | $(ECHO) " * help : print this text";\
|
|---|
| 59 | $(ECHO) "";
|
|---|
| 60 |
|
|---|
| 61 | help :
|
|---|
| 62 | @\
|
|---|
| 63 | $(MAKE) common_help;\
|
|---|
| 64 | $(MAKE) component_help;
|
|---|
| 65 |
|
|---|
| 66 | clean :
|
|---|
| 67 | @\
|
|---|
| 68 | $(MAKE) common_clean ;\
|
|---|
| 69 | $(MAKE) component_clean;
|
|---|
| 70 |
|
|---|
| 71 | clean_all :
|
|---|
| 72 | @\
|
|---|
| 73 | $(MAKE) common_clean_all ;\
|
|---|
| 74 | $(MAKE) component_clean_all;
|
|---|