Changeset 177


Ignore:
Timestamp:
Jul 22, 2012, 9:13:57 AM (12 years ago)
Author:
karaoui
Message:

Modification in makefiles structure

Location:
soft/giet_vm
Files:
5 added
4 deleted
1 edited

Legend:

Unmodified
Added
Removed
  • soft/giet_vm/Makefile

    r175 r177  
    88SOFT_PATH       = $(shell pwd)/
    99
    10 SYS_NAME    = sys
    11 BOOT_NAME   = boot
    12 LIB_NAME    = libs
     10SYS_DIR    = sys
     11LIB_DIR    = libs
     12BOOT_DIR   = boot
    1313
    14 SYS_PATH    = $(SOFT_PATH)$(SYS_NAME)
    15 BOOT_PATH   = $(SOFT_PATH)$(BOOT_NAME)
    16 LIB_PATH    = $(SOFT_PATH)$(LIB_NAME)
    17 MAP_PATH    = $(SOFT_PATH)xml/
     14BOOT_PATH   = $(SOFT_PATH)$(BOOT_DIR)
     15SYS_PATH    = $(SOFT_PATH)$(SYS_DIR)
     16LIB_PATH    = $(SOFT_PATH)$(LIB_DIR)
     17XML_PATH    = $(SOFT_PATH)xml/
     18MEMO_PATH   = $(SOFT_PATH)memo/
    1819BUILD_PATH      = $(SOFT_PATH)build/
    1920ELF_PATH        = $(SOFT_PATH)build/
     21APP_PATH        = $(SOFT_PATH)apps/
    2022
    2123#list of all applications directory
    22 APP_DIRS        = $(shell ls -d apps/*/ )
     24APP_DIRS        = $(shell ls -d $(APP_PATH)/*/ )
    2325
    2426SYS_OBJS_LIST = \
     
    3739                                boot_handler.o
    3840
    39 #LIB_SRCS = $(wildcard $(LIB_NAME)/*.c)
     41#LIB_SRCS = $(wildcard $(LIB_DIR)/*.c)
    4042LIB_OBJS_LIST = stdio.o \
    4143                                mwmr_channel.o \
     
    4446                                common.o
    4547
    46 LIB_OBJS = $(patsubst %,$(LIB_NAME)/%,$(LIB_OBJS_LIST))
    47 SYS_OBJS   = $(patsubst %,$(SYS_NAME)/%,$(SYS_OBJS_LIST))
    48 BOOT_OBJS   = $(patsubst %,$(BOOT_NAME)/%,$(BOOT_OBJS_LIST))
     48LIB_OBJS        = $(patsubst %,$(LIB_DIR)/%,$(LIB_OBJS_LIST))
     49SYS_OBJS        = $(patsubst %,$(SYS_DIR)/%,$(SYS_OBJS_LIST))
     50BOOT_OBJS   = $(patsubst %,$(BOOT_DIR)/%,$(BOOT_OBJS_LIST))
    4951
    5052
    5153CFLAGS=-Wall -ffreestanding -mno-gpopt -mips32 -g
    5254
    53 SYS_INCLUDE  = -I$(SYS_PATH)  -I$(MAP_PATH) -I$(LIB_PATH) -I.
    54 BOOT_INCLUDE = -I$(BOOT_PATH) -I$(MAP_PATH) -I$(LIB_PATH) -I.
    55 LIB_INCLUDE      = -I$(LIB_PATH)  -I$(MAP_PATH)
    56 INCLUDE          = -I$(LIB_PATH)  -I$(MAP_PATH)
     55SYS_INCLUDE  = -I$(SYS_PATH)  -I$(XML_PATH) -I$(LIB_PATH) -I.
     56BOOT_INCLUDE = -I$(BOOT_PATH) -I$(XML_PATH) -I$(LIB_PATH) -I.
     57LIB_INCLUDE      = -I$(LIB_PATH)  -I$(XML_PATH) -I.
     58APP_INCLUDE      = -I$(LIB_PATH)  -I$(XML_PATH) -I$(SOFT_PATH)
    5759
    5860TRASH= /dev/null||true
     
    6466## merge all *.elf to soft.elf
    6567soft.elf: boot.elf sys.elf map.bin apps
    66         $(MAKE) -C memo
    67         memo/memo.x  map.bin
     68        $(MAKE) -C $(MEMO_PATH)
     69        $(MEMO_PATH)/memo.x  map.bin
    6870        $(DU) -D $@ > $(BUILD_PATH)$@.txt
    6971
     
    7274        @mkdir $(BUILD_PATH)                            2>$(TRASH)
    7375        @mkdir $(ELF_PATH)                                      2>$(TRASH)
    74         @mkdir $(BUILD_PATH)/$(BOOT_NAME)       2>$(TRASH)
    75         @mkdir $(BUILD_PATH)/$(LIB_NAME)        2>$(TRASH)
    76         @mkdir $(BUILD_PATH)/$(SYS_NAME)        2>$(TRASH)
     76        @mkdir $(BUILD_PATH)/$(BOOT_DIR)        2>$(TRASH)
     77        @mkdir $(BUILD_PATH)/$(LIB_DIR)         2>$(TRASH)
     78        @mkdir $(BUILD_PATH)/$(SYS_DIR)         2>$(TRASH)
    7779
    78 ## mapping compilation
     80### mapping compilation
    7981map.bin: map.xml
    80         $(MAKE) -C xml                         
    81         xml/xml2bin map.xml map.bin
     82        $(MAKE) -C $(XML_PATH)
     83        $(XML_PATH)/xml2bin $(SOFT_PATH)map.xml $(SOFT_PATH)map.bin
    8284
    83 ## system compilation
     85### system compilation
    8486sys.elf: $(SYS_OBJS) $(SYS_PATH)/sys.ld
    8587        (cd $(BUILD_PATH); $(LD) -o $@ -T $(SYS_PATH)/sys.ld $(SYS_OBJS) )
    8688        (cd $(BUILD_PATH); $(DU) -D $@ > $@.txt)
    8789
    88 $(SYS_NAME)/%.o: $(SYS_NAME)/%.c
     90$(SYS_DIR)/%.o: $(SYS_DIR)/%.c
    8991        $(CC) $(SYS_INCLUDE) $(CFLAGS)  -c -o $(BUILD_PATH)/$@ $<
    9092
    91 $(SYS_NAME)/%.o: $(SYS_NAME)/%.s
     93$(SYS_DIR)/%.o: $(SYS_DIR)/%.s
    9294        $(CC) $(SYS_INCLUDE) $(CFLAGS)  -c -o $(BUILD_PATH)/$@ $<
    9395
    94 $(SYS_NAME)/%.o: $(SYS_NAME)/%.S
     96$(SYS_DIR)/%.o: $(SYS_DIR)/%.S
    9597        $(CC) $(SYS_INCLUDE) $(CFLAGS)  -c -o $(BUILD_PATH)/$@ $<
    9698
    97 ## boot compilation
     99### boot compilation
    98100boot.elf: $(BOOT_OBJS) $(BOOT_PATH)/boot.ld
    99101        (cd $(BUILD_PATH); $(LD) -o $@ -T $(BOOT_PATH)/boot.ld $(BOOT_OBJS) )
    100102        (cd $(BUILD_PATH); $(DU) -D $@ > $@.txt)
    101103
    102 $(BOOT_NAME)/%.o: $(BOOT_NAME)/%.c
     104$(BOOT_DIR)/%.o: $(BOOT_DIR)/%.c
    103105        $(CC) $(BOOT_INCLUDE) $(CFLAGS)  -c -o $(BUILD_PATH)/$@ $<
    104106
    105 $(BOOT_NAME)/%.o: $(BOOT_NAME)/%.s
     107$(BOOT_DIR)/%.o: $(BOOT_DIR)/%.s
    106108        $(CC) $(BOOT_INCLUDE) $(CFLAGS)  -c -o $(BUILD_PATH)/$@ $<
    107109
    108 $(BOOT_NAME)/%.o: $(BOOT_NAME)/%.S
     110$(BOOT_DIR)/%.o: $(BOOT_DIR)/%.S
    109111        $(CC) $(BOOT_INCLUDE) $(CFLAGS)  -c -o $(BUILD_PATH)/$@ $<
    110112
    111 ##libs compilation
    112 $(LIB_NAME)/%.o: $(LIB_NAME)/%.c
     113### libs compilation
     114$(LIB_DIR)/%.o: $(LIB_DIR)/%.c
    113115        $(CC) $(CFLAGS) $(LIB_INCLUDE) -c -o $(BUILD_PATH)/$@ $<
    114116
    115 ## applications
     117### applications
    116118apps: $(LIB_OBJS)
    117         @echo "---------------------------------------------BUILDING APPS------------------------------------------------------"
    118         set -e; for d in $(APP_DIRS); do $(MAKE) -C $$d ; echo "Compiling $$d";  done
     119        @echo "---------------------------------------------- BUILDING APPS ---------------------------------------------------------"
     120        set -e; for d in $(APP_DIRS); do $(MAKE) -f config.mk -C $$d ; echo "Compiling $$d";  done
    119121
    120 ### special rules
     122### clean
    121123clean:
    122         rm -f *.o *.elf *.bin *.txt core *~  2>$(TRASH)
    123         $(MAKE) -s clean -C xml/ 2>$(TRASH)
    124         $(MAKE) -s clean -C memo/ 2>$(TRASH)
    125         rm -r $(BUILD_PATH) 2>$(TRASH)
    126         set -e; for d in $(APP_DIRS); do $(MAKE) clean -C $$d ; done
     124        rm -f *.o *.elf *.bin *.txt core *~     2>$(TRASH)
     125        $(MAKE) -s clean -C $(XML_PATH)                 2>$(TRASH)
     126        $(MAKE) -s clean -C $(MEMO_PATH)                2>$(TRASH)
     127        rm -r $(BUILD_PATH)                                     2>$(TRASH)
     128        rm -r $(ELF_PATH)                                               2>$(TRASH)
     129        set -e; for d in $(APP_DIRS); do $(MAKE) clean -f config.mk -C $$d ; done
Note: See TracChangeset for help on using the changeset viewer.