Mon 14 Oct 23:13:38 CEST 2024
This commit is contained in:
		
							parent
							
								
									15933b3c7a
								
							
						
					
					
						commit
						66769b1980
					
				
							
								
								
									
										54
									
								
								Makefile.config
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								Makefile.config
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,54 @@ | |||
| include Makefile.config | ||||
| 
 | ||||
| LIBRARY_SOURCES=$(wildcard library/*.c) | ||||
| LIBRARY_HEADERS=$(wildcard library/*.h) | ||||
| USER_SOURCES=$(wildcard user/*.c) | ||||
| USER_PROGRAMS=$(USER_SOURCES:c=exe) | ||||
| KERNEL_SOURCES=$(wildcard kernel/*.[chS]) | ||||
| WORDS=/usr/share/dict/words | ||||
| 
 | ||||
| .PHONY: build-kernel build-library build-userspace build-cdrom-image | ||||
| 
 | ||||
| all: build-cdrom-image | ||||
| 
 | ||||
| build-kernel: kernel/basekernel.img | ||||
| 
 | ||||
| build-library: library/baselib.a | ||||
| 
 | ||||
| build-userspace: $(USER_PROGRAMS) | ||||
| 
 | ||||
| build-cdrom-image: basekernel.iso | ||||
| 
 | ||||
| kernel/basekernel.img: $(KERNEL_SOURCES) $(LIBRARY_HEADERS) | ||||
| 	cd kernel && make | ||||
| 
 | ||||
| library/baselib.a: $(LIBRARY_SOURCES) $(LIBRARY_HEADERS) | ||||
| 	cd library && make | ||||
| 
 | ||||
| $(USER_PROGRAMS): $(USER_SOURCES) library/baselib.a $(LIBRARY_HEADERS) | ||||
| 	cd user && make | ||||
| 
 | ||||
| image: kernel/basekernel.img $(USER_PROGRAMS) | ||||
| 	rm -rf image | ||||
| 	mkdir image image/boot image/bin image/data | ||||
| 	cp kernel/basekernel.img image/boot | ||||
| 	cp $(USER_PROGRAMS) image/bin | ||||
| 	if [ -f ${WORDS} ]; then head -2000 ${WORDS} > image/data/words; fi | ||||
| 
 | ||||
| basekernel.iso: image | ||||
| 	${ISOGEN} -input-charset utf-8 -iso-level 2 -J -R -o $@ -b boot/basekernel.img image | ||||
| 
 | ||||
| disk.img: | ||||
| 	qemu-img create disk.img 10M | ||||
| 
 | ||||
| run: basekernel.iso disk.img | ||||
| 	qemu-system-i386 -cdrom basekernel.iso -hda disk.img | ||||
| 
 | ||||
| debug: basekernel.iso disk.img | ||||
| 	qemu-system-i386 -cdrom basekernel.iso -hda disk.img -s -S & | ||||
| 
 | ||||
| clean: | ||||
| 	rm -rf basekernel.iso image disk.img | ||||
| 	cd kernel && make clean | ||||
| 	cd library && make clean | ||||
| 	cd user && make clean | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user