Need to add CRT0 to every Makefile in apps/examples/tests
This commit is contained in:
parent
a03bd2f1e7
commit
95679676a1
@ -66,17 +66,17 @@ endif
|
||||
BIN = errno
|
||||
|
||||
SRCS = $(BIN).c
|
||||
OBJS = $(SRCS:.c=.o)
|
||||
OBJS = $(SRCS:.c=$(OBJEXT))
|
||||
|
||||
all: $(BIN)
|
||||
|
||||
$(OBJS): %.o: %.c
|
||||
$(OBJS): %$(OBJEXT): %.c
|
||||
@echo "CC: $<"
|
||||
$(Q) $(CC) -c $(CELFFLAGS) $< -o $@
|
||||
|
||||
$(BIN): $(OBJS)
|
||||
@echo "LD: $<"
|
||||
$(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) -o $@ $^ $(LDLIBS)
|
||||
$(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) -o $@ $(ARCHCRT0OBJ) $^ $(LDLIBS)
|
||||
|
||||
clean:
|
||||
$(call DELFILE, $(BIN))
|
||||
@ -85,4 +85,3 @@ clean:
|
||||
install:
|
||||
$(Q) mkdir -p $(ROMFS_DIR)
|
||||
$(Q) install $(BIN) $(ROMFS_DIR)/$(BIN)
|
||||
|
||||
|
@ -66,17 +66,17 @@ endif
|
||||
BIN = hello
|
||||
|
||||
SRCS = $(BIN).c
|
||||
OBJS = $(SRCS:.c=.o)
|
||||
OBJS = $(SRCS:.c=$(OBJEXT))
|
||||
|
||||
all: $(BIN)
|
||||
|
||||
$(OBJS): %.o: %.c
|
||||
$(OBJS): %$(OBJEXT): %.c
|
||||
@echo "CC: $<"
|
||||
$(Q) $(CC) -c $(CELFFLAGS) $< -o $@
|
||||
|
||||
$(BIN): $(OBJS)
|
||||
@echo "LD: $<"
|
||||
$(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) -o $@ $^ $(LDLIBS)
|
||||
$(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) -o $@ $(ARCHCRT0OBJ) $^ $(LDLIBS)
|
||||
|
||||
clean:
|
||||
$(call DELFILE, $(BIN))
|
||||
|
@ -72,18 +72,18 @@ endif
|
||||
ALL_BIN = $(BIN1) $(BIN2) $(BIN3) $(BIN4)
|
||||
|
||||
SRCS1 = $(BIN1).c
|
||||
OBJS1 = $(SRCS1:.c=.o)
|
||||
OBJS1 = $(SRCS1:.c=$(OBJEXT))
|
||||
|
||||
SRCS2 = $(BIN2).c
|
||||
OBJS2 = $(SRCS2:.c=.o)
|
||||
OBJS2 = $(SRCS2:.c=$(OBJEXT))
|
||||
|
||||
ifeq ($(CONFIG_BINFMT_CONSTRUCTORS),y)
|
||||
SRCS3 = $(BIN3).c
|
||||
OBJS3 = $(SRCS3:.c=.o)
|
||||
OBJS3 = $(SRCS3:.c=$(OBJEXT))
|
||||
endif
|
||||
|
||||
#SRCS4 = $(BIN4).c
|
||||
#OBJS4 = $(SRCS4:.c=.o)
|
||||
#OBJS4 = $(SRCS4:.c=$(OBJEXT))
|
||||
|
||||
SRCS = $(SRCS1) $(SRCS2) $(SRCS3) $(SRCS4)
|
||||
OBJS = $(OBJS1) $(OBJS2) $(OBJS3) $(OBJS4)
|
||||
@ -93,7 +93,7 @@ LDLIBSTDC_STUBS_LIB = $(LDLIBSTDC_STUBS_DIR)/liblibxx.a
|
||||
|
||||
all: $(BIN1) $(BIN2) $(BIN3) $(BIN4)
|
||||
|
||||
$(OBJS): %.o: %.cpp
|
||||
$(OBJS): %$(OBJEXT): %.cpp
|
||||
@echo "CC: $<"
|
||||
$(Q) $(CXX) -c $(CXXELFFLAGS) $< -o $@
|
||||
|
||||
@ -110,18 +110,18 @@ $(LDLIBSTDC_STUBS_LIB):
|
||||
|
||||
$(BIN1): $(OBJS1)
|
||||
@echo "LD: $<"
|
||||
$(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) -o $@ $^ $(LDLIBS)
|
||||
$(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) -o $@ $(ARCHCRT0OBJ) $^ $(LDLIBS)
|
||||
|
||||
$(BIN2): $(OBJS2)
|
||||
@echo "LD: $<"
|
||||
$(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) -o $@ $^ $(LDLIBS)
|
||||
$(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) -o $@ $(ARCHCRT0OBJ) $^ $(LDLIBS)
|
||||
|
||||
# BIN3 is equivalent to BIN2 except that is uses static initializers
|
||||
|
||||
ifeq ($(CONFIG_BINFMT_CONSTRUCTORS),y)
|
||||
$(BIN3): $(OBJS3)
|
||||
@echo "LD: $<"
|
||||
$(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) -o $@ $^ $(LDLIBS)
|
||||
$(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) -o $@ $(ARCHCRT0OBJ) $^ $(LDLIBS)
|
||||
endif
|
||||
|
||||
# BIN4 is similar to BIN3 except that it uses the streams code from libstdc++
|
||||
@ -130,7 +130,7 @@ endif
|
||||
#
|
||||
#$(BIN4): $(OBJS4)
|
||||
# @echo "LD: $<"
|
||||
# $(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) -o $@ $^ $(LDLIBS)
|
||||
# $(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) -o $@ $(ARCHCRT0OBJ) $^ $(LDLIBS)
|
||||
|
||||
clean:
|
||||
$(call DELFILE, $(BIN1))
|
||||
|
@ -66,17 +66,17 @@ endif
|
||||
BIN = longjmp
|
||||
|
||||
SRCS = $(BIN).c
|
||||
OBJS = $(SRCS:.c=.o)
|
||||
OBJS = $(SRCS:.c=$(OBJEXT))
|
||||
|
||||
all: $(BIN)
|
||||
|
||||
$(OBJS): %.o: %.c
|
||||
$(OBJS): %$(OBJEXT): %.c
|
||||
@echo "CC: $<"
|
||||
$(Q) $(CC) -c $(CELFFLAGS) $< -o $@
|
||||
|
||||
$(BIN): $(OBJS)
|
||||
@echo "LD: $<"
|
||||
$(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) -o $@ $^ $(LDLIBS)
|
||||
$(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) -o $@ $(ARCHCRT0OBJ) $^ $(LDLIBS)
|
||||
|
||||
clean:
|
||||
$(call DELFILE, $(BIN))
|
||||
|
@ -66,17 +66,17 @@ endif
|
||||
BIN = mutex
|
||||
|
||||
SRCS = $(BIN).c
|
||||
OBJS = $(SRCS:.c=.o)
|
||||
OBJS = $(SRCS:.c=$(OBJEXT))
|
||||
|
||||
all: $(BIN)
|
||||
|
||||
$(OBJS): %.o: %.c
|
||||
$(OBJS): %$(OBJEXT): %.c
|
||||
@echo "CC: $<"
|
||||
$(Q) $(CC) -c $(CELFFLAGS) $< -o $@
|
||||
|
||||
$(BIN): $(OBJS)
|
||||
@echo "LD: $<"
|
||||
$(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) -o $@ $^ $(LDLIBS)
|
||||
$(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) -o $@ $(ARCHCRT0OBJ) $^ $(LDLIBS)
|
||||
|
||||
clean:
|
||||
$(call DELFILE, $(BIN))
|
||||
|
@ -66,17 +66,17 @@ endif
|
||||
BIN = pthread
|
||||
|
||||
SRCS = $(BIN).c
|
||||
OBJS = $(SRCS:.c=.o)
|
||||
OBJS = $(SRCS:.c=$(OBJEXT))
|
||||
|
||||
all: $(BIN)
|
||||
|
||||
$(OBJS): %.o: %.c
|
||||
$(OBJS): %$(OBJEXT): %.c
|
||||
@echo "CC: $<"
|
||||
$(Q) $(CC) -c $(CELFFLAGS) $< -o $@
|
||||
|
||||
$(BIN): $(OBJS)
|
||||
@echo "LD: $<"
|
||||
$(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) -o $@ $^ $(LDLIBS)
|
||||
$(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) -o $@ $(ARCHCRT0OBJ) $^ $(LDLIBS)
|
||||
|
||||
clean:
|
||||
$(call DELFILE, $(BIN))
|
||||
|
@ -66,17 +66,17 @@ endif
|
||||
BIN = signal
|
||||
|
||||
SRCS = $(BIN).c
|
||||
OBJS = $(SRCS:.c=.o)
|
||||
OBJS = $(SRCS:.c=$(OBJEXT))
|
||||
|
||||
all: $(BIN)
|
||||
|
||||
$(OBJS): %.o: %.c
|
||||
$(OBJS): %$(OBJEXT): %.c
|
||||
@echo "CC: $<"
|
||||
$(Q) $(CC) -c $(CELFFLAGS) $< -o $@
|
||||
|
||||
$(BIN): $(OBJS)
|
||||
@echo "LD: $<"
|
||||
$(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) -o $@ $^ $(LDLIBS)
|
||||
$(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) -o $@ $(ARCHCRT0OBJ) $^ $(LDLIBS)
|
||||
|
||||
clean:
|
||||
$(call DELFILE, $(BIN))
|
||||
|
@ -67,17 +67,17 @@ endif
|
||||
|
||||
BIN = struct
|
||||
SRCS = struct_main.c struct_dummy.c
|
||||
OBJS = $(SRCS:.c=.o)
|
||||
OBJS = $(SRCS:.c=$(OBJEXT))
|
||||
|
||||
all: $(BIN)
|
||||
|
||||
$(OBJS): %.o: %.c
|
||||
$(OBJS): %$(OBJEXT): %.c
|
||||
@echo "CC: $<"
|
||||
$(Q) $(CC) -c $(CELFFLAGS) $< -o $@
|
||||
|
||||
$(BIN): $(OBJS)
|
||||
@echo "LD: $<"
|
||||
$(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) -o $@ $^ $(LDLIBS)
|
||||
$(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) -o $@ $(ARCHCRT0OBJ) $^ $(LDLIBS)
|
||||
|
||||
clean:
|
||||
$(call DELFILE, $(BIN))
|
||||
|
@ -66,17 +66,17 @@ endif
|
||||
BIN = task
|
||||
|
||||
SRCS = $(BIN).c
|
||||
OBJS = $(SRCS:.c=.o)
|
||||
OBJS = $(SRCS:.c=$(OBJEXT))
|
||||
|
||||
all: $(BIN)
|
||||
|
||||
$(OBJS): %.o: %.c
|
||||
$(OBJS): %$(OBJEXT): %.c
|
||||
@echo "CC: $<"
|
||||
$(Q) $(CC) -c $(CELFFLAGS) $< -o $@
|
||||
|
||||
$(BIN): $(OBJS)
|
||||
@echo "LD: $<"
|
||||
$(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) -o $@ $^ $(LDLIBS)
|
||||
$(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) -o $@ $(ARCHCRT0OBJ) $^ $(LDLIBS)
|
||||
|
||||
clean:
|
||||
$(call DELFILE, $(BIN))
|
||||
|
@ -155,10 +155,12 @@ ifeq ($(WINTOOL),y)
|
||||
# Windows-native toolchains
|
||||
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)$(DELIM)include}"
|
||||
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)$(DELIM)include}" -isystem "${shell cygpath -w $(TOPDIR)$(DELIM)include$(DELIM)cxx}"
|
||||
ARCHCRT0OBJ = "${shell cygpath -w $(TOPDIR)$(DELIM)startup$(DELIM)crt0$(OBJEXT)}"
|
||||
else
|
||||
# Linux/Cygwin-native toolchain
|
||||
ARCHINCLUDES = -I. -isystem $(TOPDIR)$(DELIM)include
|
||||
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)$(DELIM)include -isystem $(TOPDIR)$(DELIM)include$(DELIM)cxx
|
||||
ARCHCRT0OBJ = $(TOPDIR)$(DELIM)startup$(DELIM)crt0$(OBJEXT)
|
||||
endif
|
||||
|
||||
CFLAGS = $(ARCHCFLAGS) $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) -pipe
|
||||
@ -167,6 +169,11 @@ CPICFLAGS = $(ARCHPICFLAGS) $(CFLAGS)
|
||||
CXXFLAGS = $(ARCHCXXFLAGS) $(ARCHWARNINGSXX) $(ARCHOPTIMIZATION) $(ARCHXXINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) -pipe
|
||||
CXXPICFLAGS = $(ARCHPICFLAGS) $(CXXFLAGS)
|
||||
|
||||
# ELF module definitions
|
||||
|
||||
CELFFLAGS = $(CFLAGS) -mlong-calls # --target1-abs
|
||||
CXXELFFLAGS = $(CXXFLAGS) -mlong-calls # --target1-abs
|
||||
|
||||
# C Pre-processor
|
||||
|
||||
CPPFLAGS = $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
|
||||
@ -192,3 +199,12 @@ ifneq ($(LIBGCC),)
|
||||
LDLIBPATH += -L ${shell dirname $(LIBGCC)}
|
||||
LDLIBS += -lgcc
|
||||
endif
|
||||
|
||||
# ELF module definitions
|
||||
|
||||
LDELFFLAGS = -r -e _start -Bstatic
|
||||
ifeq ($(WINTOOL),y)
|
||||
LDELFFLAGS += -T "${shell cygpath -w $(TOPDIR)/scripts/gnu-elf.ld}"
|
||||
else
|
||||
LDELFFLAGS += -T $(TOPDIR)/scripts/gnu-elf.ld
|
||||
endif
|
||||
|
Loading…
Reference in New Issue
Block a user