summaryrefslogtreecommitdiff
path: root/nuttx/arch/sim/src/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'nuttx/arch/sim/src/Makefile')
-rw-r--r--nuttx/arch/sim/src/Makefile48
1 files changed, 32 insertions, 16 deletions
diff --git a/nuttx/arch/sim/src/Makefile b/nuttx/arch/sim/src/Makefile
index 53b4c6a7e..cb3f96b73 100644
--- a/nuttx/arch/sim/src/Makefile
+++ b/nuttx/arch/sim/src/Makefile
@@ -35,26 +35,33 @@
-include $(TOPDIR)/Make.defs
-MKDEP = $(TOPDIR)/tools/mkdeps.sh
-CFLAGS += -I$(TOPDIR)/sched
+MKDEP = $(TOPDIR)/tools/mkdeps.sh
+CFLAGS += -I$(TOPDIR)/sched
-ASRCS = up_setjmp.S
-AOBJS = $(ASRCS:.S=.o)
-CSRCS = up_initialize.c up_idle.c up_interruptcontext.c up_initialstate.c \
- up_createstack.c up_usestack.c up_releasestack.c \
- up_unblocktask.c up_blocktask.c up_releasepending.c up_reprioritizertr.c \
- up_exit.c up_schedulesigaction.c up_allocateheap.c up_devconsole.c
-COBJS = $(CSRCS:.c=.o)
+ASRCS = up_setjmp.S
+AOBJS = $(ASRCS:.S=$(OBJEXT))
+CSRCS = up_initialize.c up_idle.c up_interruptcontext.c \
+ up_initialstate.c up_createstack.c up_usestack.c \
+ up_releasestack.c up_unblocktask.c up_blocktask.c \
+ up_releasepending.c up_reprioritizertr.c \
+ up_exit.c up_schedulesigaction.c up_allocateheap.c \
+ up_devconsole.c
+COBJS = $(CSRCS:.c=$(OBJEXT))
-SRCS = $(ASRCS) $(CSRCS)
-OBJS = $(AOBJS) $(COBJS)
+SRCS = $(ASRCS) $(CSRCS)
+OBJS = $(AOBJS) $(COBJS)
-all: up_head.o libarch$(LIBEXT)
+LINKOBJS =
+LINKLIBS =
+LDPATHES = $(addprefix -L$(TOPDIR)/,$(dir $(LINKLIBS)))
+LDLIBS = $(patsubst lib%,-l%,$(basename $(notdir $(LINKLIBS))))
-$(AOBJS): %.o: %.S
+all: up_head$(OBJEXT) libarch$(LIBEXT)
+
+$(AOBJS): %$(OBJEXT): %.S
$(CC) -c $(CFLAGS) -D__ASSEMBLY__ $< -o $@
-$(COBJS) up_head.o: %.o: %.c
+$(COBJS) up_head$(OBJEXT): %$(OBJEXT): %.c
$(CC) -c $(CFLAGS) $< -o $@
libarch$(LIBEXT): $(OBJS)
@@ -63,6 +70,15 @@ libarch$(LIBEXT): $(OBJS)
{ echo "$(AR) $@ $obj FAILED!" ; exit 1 ; } ; \
done ; )
+nuttx:
+ $(CC) $(LDFLAGS) $(LDPATHES) -o $(TOPDIR)/$@ \
+ $(addprefix $(TOPDIR)/,$(LINKOBJS)) \
+ -Wl,--start-group $(LDLIBS) $(EXTRA_LIBS) -Wl,--end-group
+ @$(NM) $(TOPDIR)/$@ | \
+ grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \
+ sort > $(TOPDIR)/System.map
+
+
.depend: Makefile $(SRCS)
$(MKDEP) $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep
touch $@
@@ -70,10 +86,10 @@ libarch$(LIBEXT): $(OBJS)
depend: .depend
clean:
- rm -f libarch$(LIBEXT) *.o *~
+ rm -f libarch$(LIBEXT) *~
+ if [ ! -z "$(OBJEXT)" ]; then rm -f *$(OBJEXT); fi
distclean: clean
rm -f Make.dep .depend
-
-include Make.dep