summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiguel <m.i@gmx.at>2018-08-18 22:23:13 +0200
committerMiguel <m.i@gmx.at>2018-08-18 22:23:13 +0200
commit4793dda3ada333e4462a8d6faa0705d8b3ba3890 (patch)
treedec428086d112bf4ffbbdc1e8784f854c9508070
parent881d53b61cd9a7f10ef9849d82259619bc0b6d3e (diff)
beautify Makefiles (probably bad idea.. :P )
-rw-r--r--Makefile34
-rw-r--r--Makefile.common4
-rw-r--r--userspace/Makefile43
3 files changed, 47 insertions, 34 deletions
diff --git a/Makefile b/Makefile
index 4c60bad..c6a04c8 100644
--- a/Makefile
+++ b/Makefile
@@ -29,12 +29,12 @@ CFLAGS+=-gstabs
#CFLAGS+=-fno-zero-initialized-in-bss
#CFLAGS+=-fdata-sections -ffunction-sections
-#CFLAGS+= -w # disable all warnings
+CFLAGS+= -w # disable all warnings
#CFLAGS+= -Wimplicit-function-declaration
#CFLAGS+= -Wextra
-CFLAGS+= -Wall
+#CFLAGS+= -Wall
#CFLAGS+= -Werror
-#CFLAGS+= -Werror=implicit-function-declaration
+CFLAGS+= -Werror=implicit-function-declaration
######## linker flags ####################
LDFLAGS=
@@ -45,8 +45,9 @@ ASFLAGS=
ASFLAGS+=-gstabs
########## verbosity ##################3
-#V = 0
-#CC = @echo "Compiling $<..."; i686-foolos-gcc
+V = 0
+CC = @echo "Compiling (i686-elf-gcc) $<..."; i686-elf-gcc
+AS = @echo "Assembling (i686-elf-as) $<..."; i686-elf-as
#CC_1 = $(CCC)
#CC = $(CC_$(V))
@@ -108,10 +109,12 @@ CLEANDIRS=$(SUBDIRS:%=clean-%)
.PHONY: $(SUBDIRS) $(CLEANDIRS)
$(SUBDIRS):
- $(MAKE) -C $@
+ @echo "-- Recursing make to [$@]..."; $(MAKE) --no-print-directory -C $@
+ @echo "-- Returned from [$@]"
$(CLEANDIRS):
- $(MAKE) -C $(@:clean-%=%) clean
+ @echo "-- Recursing clean to [$(@:clean-%=%)]..."; $(MAKE) --no-print-directory -C $(@:clean-%=%) clean
+ @echo "-- Returned from [$(@:clean-%=%)]"
############ linking kernel binary ############
@@ -164,11 +167,11 @@ stop-qemu:
############ cleanup ############
clean: $(CLEANDIRS)
- -rm *.bin $(FOOLOS) $(FOOLOS_ISO) $(FOOLOS_VDI) $(KERNEL_ENTRY) $(ASM_MULTIBOOT_OBJ) $(KERNEL_IMG) $(ASM_OBJECTS) $(OBJECTS) $(IMG_FILLUP) $(BIN_MBR) $(BIN_MP) $(BIN_STAGE2) $(DEPS) bochs.out bochs.log ne2k-tx.log ne2k-txdump.txt tags mp/mp.bin grubiso/boot/foolos.bin grubiso/boot/ext2.img
- -rm ./doc/ -r
+ @echo "Cleaning..."; rm -f *.bin $(FOOLOS) $(FOOLOS_ISO) $(FOOLOS_VDI) $(KERNEL_ENTRY) $(ASM_MULTIBOOT_OBJ) $(KERNEL_IMG) $(ASM_OBJECTS) $(OBJECTS) $(IMG_FILLUP) $(BIN_MBR) $(BIN_MP) $(BIN_STAGE2) $(DEPS) bochs.out bochs.log ne2k-tx.log ne2k-txdump.txt tags mp/mp.bin grubiso/boot/foolos.bin grubiso/boot/ext2.img
+ @echo "Cleaning Documentation..."; rm -f ./doc/ -r
tags:
- ctags --recurse=yes .
+ @echo "Generating ctags..." ctags --recurse=yes .
############ mounting #############
@@ -185,9 +188,14 @@ tags:
##### ISO #####
$(FOOLOS_ISO): $(KERNEL_IMG) userspace
- cp $(KERNEL_IMG) grubiso/boot/foolos.bin
- cp $(IMG_USERSPACE) grubiso/boot
- grub-mkrescue -o $(FOOLOS_ISO) grubiso/
+ @echo "------------------------"
+ @echo "Create ISO..."
+ @cp $(KERNEL_IMG) grubiso/boot/foolos.bin
+ @cp $(IMG_USERSPACE) grubiso/boot
+ @grub-mkrescue -o $(FOOLOS_ISO) grubiso/
+ @echo "Finished ISO"
+ @echo "------------------------"
+
#### README ###
gitweb_readme:
diff --git a/Makefile.common b/Makefile.common
index 9f9f5cd..89b90e8 100644
--- a/Makefile.common
+++ b/Makefile.common
@@ -1,10 +1,10 @@
### explicit rules ###
%.o: %.asm
- nasm -f elf $*.asm -o $@
+ @echo "Assembling (nasm) $@..."; nasm -f elf $*.asm -o $@
%.bin: %.asm
- nasm -f bin $*.asm -o $@
+ @echo "Assembling (nasm) $@..."; nasm -f bin $*.asm -o $@
#%.o: %.s
# i686-elf-as $*.s -o $@
diff --git a/userspace/Makefile b/userspace/Makefile
index f5c9e97..a508e7f 100644
--- a/userspace/Makefile
+++ b/userspace/Makefile
@@ -5,6 +5,8 @@ IMAGESIZE=30000 #ext2.img size in Kb (30Megs)
CC=i686-foolos-gcc
CC=i686-elf-gcc
AS=i686-elf-as
+CC = @echo "Compiling (i686-elf-gcc) $<..."; i686-elf-gcc
+AS = @echo "Assembling (i686-elf-as) $<..."; i686-elf-as
CFLAGS=
CFLAGS=-w
@@ -24,18 +26,19 @@ include ../Makefile.common
all: crt0.o ext2.img
ext2.img: $(PROGS) ../mp/mp.bin
-
- dd if=/dev/zero of=ext2.img bs=1024 count=$(IMAGESIZE)
- sudo mkfs.ext2 -O none ext2.img -F
- mkdir mnt
- sudo mount ext2.img mnt
- sudo chown miguel mnt
- mkdir -p mnt/home/miguel
- mkdir -p mnt/boot
- echo "Welcome to FoolOs\nWe hope you will enjoy your stay." > mnt/home/miguel/hello.txt
- mkdir -p mnt/bin
- cp $(PROGS) mnt/bin
- echo "++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++." > mnt/home/miguel/hello.brain
+ @echo "----------------------"
+ @echo "Creating ext2.img ...."
+ @dd if=/dev/zero of=ext2.img bs=1024 count=$(IMAGESIZE)
+ @sudo mkfs.ext2 -O none ext2.img -F
+ @mkdir mnt
+ @sudo mount ext2.img mnt
+ @sudo chown miguel mnt
+ @mkdir -p mnt/home/miguel
+ @mkdir -p mnt/boot
+ @echo "Welcome to FoolOs\nWe hope you will enjoy your stay." > mnt/home/miguel/hello.txt
+ @mkdir -p mnt/bin
+ @cp $(PROGS) mnt/bin
+ @echo "++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++." > mnt/home/miguel/hello.brain
# cp ~/temp/fool-os-stuff/binutils-build-host-foolos/binutils/readelf mnt/bin
# cp ../font/binfont.bin mnt/
@@ -47,14 +50,16 @@ ext2.img: $(PROGS) ../mp/mp.bin
# cp ~/opt/foolos/usr/bin/ncurses mnt/bin/
# cp ~/opt/foolos/usr/bin/bs mnt/bin/
#
- cp ../mp/mp.bin mnt/boot/
- mkdir -p mnt/etc
- echo "127.0.0.1 localhost" > mnt/etc/hosts
- sync
- sudo umount mnt
- rm mnt -rf
+ @cp ../mp/mp.bin mnt/boot/
+ @mkdir -p mnt/etc
+ @echo "127.0.0.1 localhost" > mnt/etc/hosts
+ @sync
+ @sudo umount mnt
+ @rm mnt -rf
+ @echo "Creating ext2.img finished!"
+ @echo "----------------------"
clean:
- -rm -f *.o $(PROGS) ext2.img *.d
+ @echo "Cleaning userspace ..."; rm -f *.o $(PROGS) ext2.img *.d
new: clean all