1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
|
--- a/Makefile
+++ b/Makefile
@@ -44,14 +44,16 @@
SRCDIR:= src
CC_BASE:= $(shell $(CC) -print-search-dirs | grep install | sed -e 's/.*\ //')
-CFLAGS= -Wall -W -Werror -O2 -g -fno-builtin -fno-common -nostdinc -mregnames
+CFLAGS= -Wall -W -Werror -O2 -g
+DEF_CFLAGS= $(CFLAGS) -fno-builtin -fno-common -nostdinc -mregnames
# Disable a few warnings that would just create needless code churn
-CFLAGS+= -Wno-pointer-sign -Wno-unused-but-set-variable
-CFLAGS+= -DBUILD_DATE=$(BUILD_DATE) -DBUILD_TIME=$(BUILD_TIME)
-CFLAGS+= -I$(SRCDIR)/ -I$(SRCDIR)/libc/include -I$(CC_BASE)/include
-CFLAGS+= -I$(SRCDIR)/dev -I$(SRCDIR)/dev/block -I$(SRCDIR)/dev/char
-CFLAGS+= -I$(SRCDIR)/dev/bus
-LDFLAGS= -O2 -g -nostdlib
+DEF_CFLAGS+= -Wno-pointer-sign -Wno-unused-but-set-variable
+DEF_CFLAGS+= -DBUILD_DATE=$(BUILD_DATE) -DBUILD_TIME=$(BUILD_TIME)
+DEF_CFLAGS+= -I$(SRCDIR)/ -I$(SRCDIR)/libc/include -I$(CC_BASE)/include
+DEF_CFLAGS+= -I$(SRCDIR)/dev -I$(SRCDIR)/dev/block -I$(SRCDIR)/dev/char
+DEF_CFLAGS+= -I$(SRCDIR)/dev/bus
+LDFLAGS= -O2 -g
+DEF_LDFLAGS= $(LDFLAGS) -nostdlib
BIOS_IMAGE_BITS:= 20
BIOS_IMAGE_SIZE:= $(shell echo $$(( 1 << $(BIOS_IMAGE_BITS) )) )
@@ -115,8 +117,8 @@
main.out_OBJS+= $(addprefix $(OBJDIR)/dev_, $(dev_OBJS))
CUR= $(notdir $@)
-CFLAGS+= $($(CUR)_CFLAGS)
-LDFLAGS+= $($(CUR)_LDFLAGS)
+DEF_CFLAGS+= $($(CUR)_CFLAGS)
+DEF_LDFLAGS+= $($(CUR)_LDFLAGS)
BIN_TARGETS:= $(OBJDIR)/vectors.bin $(OBJDIR)/main.bin $(OBJDIR)/boot.bin
TARGET:= ppc_rom.bin
@@ -158,79 +160,81 @@
$(OBJCOPY) -O binary $($(notdir $@)_OPTIONS) $< $@
$(OBJDIR)/%.out: $(OBJDIR)/%.o $(SRCDIR)/%.ld
- $(LD) $(LDFLAGS) -o $@ $<
+ $(LD) $(DEF_LDFLAGS) -o $@ $<
$(OBJDIR)/main.out: $(main.out_OBJS) $(SRCDIR)/main.ld
- $(LD) $(LDFLAGS) -o $@ $(main.out_OBJS)
+ $(LD) $(DEF_LDFLAGS) -o $@ $($(notdir $@)_OBJS)
$(OBJDIR)/%.o: $(SRCDIR)/%.c $(SRCDIR)/bios.h
@$(DEBUG) "CFLAGS = $(CFLAGS)"
- $(CC) -c $(CFLAGS) -o $@ $<
+ $(CC) -c $(DEF_CFLAGS) -o $@ $<
$(OBJDIR)/%.o: $(SRCDIR)/%.S $(SRCDIR)/bios.h
@$(DEBUG) "CFLAGS = $(CFLAGS)"
- $(CC) -c $(CFLAGS) -Wa,-mregnames -o $@ $<
+ $(CC) -c $(DEF_CFLAGS) -Wa,-mregnames -o $@ $<
- $(CC) $(CFLAGS) -D__USE_$(subst .o,,$(@F))__ -c -o $@ $<
+ $(CC) $(DEF_CFLAGS) -D__USE_$(subst .o,,$(@F))__ -c -o $@ $<
# Pseudo libc objects
$(OBJDIR)/%.o: $(SRCDIR)/libc/src/%.c
@$(DEBUG) "CFLAGS = $(CFLAGS)"
- $(CC) -c $(CFLAGS) -o $@ $<
+ $(CC) -c $(DEF_CFLAGS) -o $@ $<
$(OBJDIR)/mem%.o: $(SRCDIR)/libc/src/mem.c
- $(CC) $(CFLAGS) -D__USE_$(subst .o,,$(@F))__ -c -o $@ $<
+ $(CC) $(DEF_CFLAGS) -D__USE_$(subst .o,,$(@F))__ -c -o $@ $<
$(OBJDIR)/rawmemchr.o: $(SRCDIR)/libc/src/mem.c
- $(CC) $(CFLAGS) -D__USE_$(subst .o,,$(@F))__ -c -o $@ $<
+ $(CC) $(DEF_CFLAGS) -D__USE_$(subst .o,,$(@F))__ -c -o $@ $<
$(OBJDIR)/str%.o: $(SRCDIR)/libc/src/str.c
@$(DEBUG) "CFLAGS = $(CFLAGS)"
- $(CC) $(CFLAGS) -D__USE_$(subst .o,,$(@F))__ -c -o $@ $<
+ $(CC) $(DEF_CFLAGS) -D__USE_$(subst .o,,$(@F))__ -c -o $@ $<
$(OBJDIR)/stp%.o: $(SRCDIR)/libc/src/str.c
@$(DEBUG) "CFLAGS = $(CFLAGS)"
- $(CC) $(CFLAGS) -D__USE_$(subst .o,,$(@F))__ -c -o $@ $<
+ $(CC) $(DEF_CFLAGS) -D__USE_$(subst .o,,$(@F))__ -c -o $@ $<
$(OBJDIR)/basename.o: $(SRCDIR)/libc/src/str.c
@$(DEBUG) "CFLAGS = $(CFLAGS)"
- $(CC) $(CFLAGS) -D__USE_$(subst .o,,$(@F))__ -c -o $@ $<
+ $(CC) $(DEF_CFLAGS) -D__USE_$(subst .o,,$(@F))__ -c -o $@ $<
$(OBJDIR)/dirname.o: $(SRCDIR)/libc/src/str.c
@$(DEBUG) "CFLAGS = $(CFLAGS)"
- $(CC) $(CFLAGS) -D__USE_$(subst .o,,$(@F))__ -c -o $@ $<
+ $(CC) $(DEF_CFLAGS) -D__USE_$(subst .o,,$(@F))__ -c -o $@ $<
$(OBJDIR)/%rintf.o: $(SRCDIR)/libc/src/format.c
@$(DEBUG) "CFLAGS = $(CFLAGS)"
- $(CC) $(CFLAGS) -D__USE_$(subst .o,,$(@F))__ -c -o $@ $<
+ $(CC) $(DEF_CFLAGS) -D__USE_$(subst .o,,$(@F))__ -c -o $@ $<
# libexec objects
$(OBJDIR)/exec_%.o: $(SRCDIR)/libexec/%.c
@$(DEBUG) "CFLAGS = $(CFLAGS)"
- $(CC) -c $(CFLAGS) -o $@ $<
+ $(CC) -c $(DEF_CFLAGS) -o $@ $<
# libfs objects
$(OBJDIR)/fs_%.o: $(SRCDIR)/libfs/%.c
@$(DEBUG) "CFLAGS = $(CFLAGS)"
- $(CC) -c $(CFLAGS) -o $@ $<
+ $(CC) -c $(DEF_CFLAGS) -o $@ $<
# libpart objects
$(OBJDIR)/part_%.o: $(SRCDIR)/libpart/%.c
@$(DEBUG) "CFLAGS = $(CFLAGS)"
- $(CC) -c $(CFLAGS) -o $@ $<
+ $(CC) -c $(DEF_CFLAGS) -o $@ $<
# Devices drivers
$(OBJDIR)/dev_%.o: $(SRCDIR)/dev/%.c
@$(DEBUG) "CFLAGS = $(CFLAGS)"
- $(CC) -c $(CFLAGS) -o $@ $<
+ $(CC) -c $(DEF_CFLAGS) -o $@ $<
+
# Char devices drivers
$(OBJDIR)/dev_char_%.o: $(SRCDIR)/dev/char/%.c
@$(DEBUG) "CFLAGS = $(CFLAGS)"
- $(CC) -c $(CFLAGS) -o $@ $<
+ $(CC) -c $(DEF_CFLAGS) -o $@ $<
+
# Bloc devices drivers
$(OBJDIR)/dev_bloc_%.o: $(SRCDIR)/dev/bloc/%.c
@$(DEBUG) "CFLAGS = $(CFLAGS)"
- $(CC) -c $(CFLAGS) -o $@ $<
+ $(CC) -c $(DEF_CFLAGS) -o $@ $<
# Other targets
tarball: $(CURDIR)/Timestamp
|