Changeset 407 for trunk/Makefile.tsar
- Timestamp:
- Nov 7, 2017, 3:08:12 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Makefile.tsar
r380 r407 18 18 19 19 LIBGCC = -L$(shell $(CC) -print-libgcc-file-name | sed 's/libgcc.a//') 20 20 21 # Default values for hardware parameters. 21 22 # These parameters should be defined in the 'params.mk' file. … … 141 142 142 143 SYS_OBJS_0 = build/kernel/syscalls/sys_thread_exit.o \ 143 build/kernel/syscalls/sys_ mmap.o\144 build/kernel/syscalls/sys_thread_yield.o \ 144 145 build/kernel/syscalls/sys_thread_create.o \ 145 146 build/kernel/syscalls/sys_thread_join.o \ 146 147 build/kernel/syscalls/sys_thread_detach.o \ 147 build/kernel/syscalls/sys_thread_yield.o \148 148 build/kernel/syscalls/sys_sem.o \ 149 149 build/kernel/syscalls/sys_condvar.o \ … … 151 151 build/kernel/syscalls/sys_mutex.o 152 152 153 SYS_OBJS_1 = build/kernel/syscalls/sys_thread_sleep.o \ 154 build/kernel/syscalls/sys_thread_wakeup.o \ 153 SYS_OBJS_1 = build/kernel/syscalls/sys_munmap.o \ 155 154 build/kernel/syscalls/sys_open.o \ 156 build/kernel/syscalls/sys_ creat.o\155 build/kernel/syscalls/sys_mmap.o \ 157 156 build/kernel/syscalls/sys_read.o \ 158 157 build/kernel/syscalls/sys_write.o \ … … 169 168 build/kernel/syscalls/sys_closedir.o \ 170 169 build/kernel/syscalls/sys_getcwd.o \ 171 build/kernel/syscalls/sys_clock.o \172 170 build/kernel/syscalls/sys_alarm.o \ 173 171 build/kernel/syscalls/sys_rmdir.o … … 184 182 build/kernel/syscalls/sys_trace.o 185 183 186 VFS_OBJS = build/kernel/vfs/vfs.o \ 187 build/kernel/vfs/fatfs.o \ 188 build/kernel/vfs/devfs.o \ 189 build/kernel/vfs/ramfs.o 184 SYS_OBJS_4 = build/kernel/syscalls/sys_get_config.o \ 185 build/kernel/syscalls/sys_get_core.o \ 186 build/kernel/syscalls/sys_get_cycle.o \ 187 build/kernel/syscalls/sys_get_sched.o \ 188 build/kernel/syscalls/sys_panic.o \ 189 build/kernel/syscalls/sys_thread_sleep.o \ 190 build/kernel/syscalls/sys_thread_wakeup.o 191 192 VFS_OBJS = build/kernel/fs/vfs.o \ 193 build/kernel/fs/fatfs.o \ 194 build/kernel/fs/devfs.o \ 195 build/kernel/fs/ramfs.o 190 196 191 197 # List of directories to be searched for included files 192 198 # when compiling for kernel.elf generation 193 KERNEL_INCLUDE = -Ikernel \194 -Ikernel/kern \195 -Ikernel/devices \196 -Ikernel/syscalls \199 KERNEL_INCLUDE = -Ikernel \ 200 -Ikernel/kern \ 201 -Ikernel/devices \ 202 -Ikernel/syscalls \ 197 203 -Ihal/tsar_mips32/drivers \ 198 -Ikernel/syscalls \ 199 -Ikernel/libk \ 200 -Ikernel/mm \ 201 -Ikernel/vfs \ 202 -Ikernel/fatfs \ 203 -Ikernel/sysfs \ 204 -Ikernel/ramfs \ 205 -Ikernel/devfs \ 206 -Itools/arch_info \ 207 -Ihal/generic \ 208 -Ihal/tsar_mips32/core \ 204 -Ikernel/syscalls \ 205 -Ikernel/libk \ 206 -Ikernel/mm \ 207 -Ikernel/fs \ 208 -Itools/arch_info \ 209 -Ihal/generic \ 210 -Ihal/tsar_mips32/core \ 209 211 -I. 210 212 … … 222 224 MTOOLS_SKIP_CHECK := 1 223 225 224 # Rule to generate compile boot.elf, kernel.elf, init.elf and update virtual disk.226 # Rule to generate boot.elf, kernel.elf, ksh.elf, sort.elf and update virtual disk. 225 227 compile: dirs \ 226 228 build_disk \ … … 228 230 build/boot/boot.elf \ 229 231 build/kernel/kernel.elf \ 230 build/user/init/init.elf \ 232 build/user/ksh/ksh.elf \ 233 build/user/sort/sort.elf \ 231 234 list 232 235 … … 241 244 @mkdir -p build/kernel/libk 242 245 @mkdir -p build/kernel/drivers 243 @mkdir -p build/kernel/ vfs246 @mkdir -p build/kernel/fs 244 247 @mkdir -p build/kernel/syscalls 245 248 @mkdir -p build/user 246 @mkdir -p build/user/init247 249 @mkdir -p build/user/ksh 250 @mkdir -p build/user/sort 248 251 @mkdir -p hdd 249 252 … … 264 267 rm -f hard_config.h arch_info.xml arch_info.bin 265 268 rm -rf build 266 cd user/init && $(MAKE) clean && cd ../.. 269 cd user/ksh && $(MAKE) clean && cd ../.. 270 cd user/sort && $(MAKE) clean && cd ../.. 267 271 268 272 #################################################### 269 273 # Rule for building a new virtual disk from scratch. 270 # It creates the bin, bin/kernel, bin/ init, and home directories.274 # It creates the bin, bin/kernel, bin/user, and home directories. 271 275 # This requires the generic Linux/MacOS 'create_dmg' script, that should be 272 276 # placed in the same directory as this Makefile. … … 278 282 mmd -o -i $(DISK_IMAGE) ::/bin || true 279 283 mmd -o -i $(DISK_IMAGE) ::/bin/kernel || true 280 mmd -o -i $(DISK_IMAGE) ::/bin/ init|| true284 mmd -o -i $(DISK_IMAGE) ::/bin/user || true 281 285 mmd -o -i $(DISK_IMAGE) ::/home || true 282 286 mdir -/ -b -i $(DISK_IMAGE) ::/ … … 421 425 422 426 build/kernel/hal/hal_switch.o: hal/tsar_mips32/core/hal_switch.S \ 423 hal/ tsar_mips32/core/hal_switch.h427 hal/generic/hal_switch.h 424 428 $(CC) $(KERNEL_INCLUDE) $(CFLAGS) -c -o $@ $< 425 429 $(DU) -D $@ > $@.txt … … 458 462 459 463 ####################################### 460 # Rules to generate kernel/ vfs objects461 build/kernel/ vfs/%.o: kernel/vfs/%.c\462 kernel/ vfs/%.h\463 kernel_config.h \ 464 hal/tsar_mips32/core/hal_types.h 465 $(CC) $(KERNEL_INCLUDE) $(CFLAGS) -c -o $@ $< 466 467 ########################################################### 464 # Rules to generate kernel/fs objects 465 build/kernel/fs/%.o: kernel/fs/%.c \ 466 kernel/fs/%.h \ 467 kernel_config.h \ 468 hal/tsar_mips32/core/hal_types.h 469 $(CC) $(KERNEL_INCLUDE) $(CFLAGS) -c -o $@ $< 470 471 ############################################################# 468 472 # Rule to generate kernel.elf and place it on virtual disk 473 # TODO the syscalls grouped in SYS_OBJS_2 must be introduced 469 474 build/kernel/kernel.elf: $(KERN_OBJS) \ 470 475 $(HAL_OBJS) \ … … 478 483 $(SYS_OBJS_2) \ 479 484 $(SYS_OBJS_3) \ 485 $(SYS_OBJS_4) \ 480 486 hal/tsar_mips32/kernel.ld 481 487 $(LD) -o $@ -T hal/tsar_mips32/kernel.ld $(LIBGCC) \ … … 483 489 $(LIBK_OBJS) $(DRIVERS_OBJS) $(VFS_OBJS) \ 484 490 $(SYS_OBJS_0) $(SYS_OBJS_1) $(SYS_OBJS_2) \ 485 $(SYS_OBJS_3) -lgcc491 $(SYS_OBJS_3) $(SYS_OBJS_4) -lgcc 486 492 487 493 $(DU) -D $@ > $@.txt 488 494 mcopy -o -i $(DISK_IMAGE) build/kernel/kernel.elf ::/bin/kernel 489 495 490 ############################################################ 491 # Rule to generate the init.elf and place it on virtual disk 492 build/user/init/init.elf : user/init/init.c 493 $(MAKE) -C user/init 494 mcopy -o -i $(DISK_IMAGE) user/init/init.elf ::/bin/init 496 ############################################################### 497 # Rules to generate various user .elf and copy on virtual disk 498 499 build/user/ksh/ksh.elf : user/ksh/ksh.c 500 $(MAKE) -C user/ksh 501 mcopy -o -i $(DISK_IMAGE) user/ksh/ksh.elf ::/bin/user 495 502 496 503 build/user/sort/sort.elf : user/sort/sort.c 504 $(MAKE) -C user/sort 505 mcopy -o -i $(DISK_IMAGE) user/sort/sort.elf ::/bin/user 506
Note: See TracChangeset
for help on using the changeset viewer.