diff --git a/Makefile b/Makefile index dd5cb2c77..2797bcccc 100644 --- a/Makefile +++ b/Makefile @@ -101,11 +101,11 @@ SUBDIRS += $(EXTERNAL_DIR) # Library path -LIBPATH ?= $(TOPDIR)/libs +LIBPATH ?= $(TOPDIR)$(DELIM)libs # The install path -INSTALL_DIR = $(APPDIR)/bin +BIN_DIR = $(APPDIR)$(DELIM)bin # The final build target @@ -118,7 +118,7 @@ all: $(BIN) define SDIR_template $(1)_$(2): - $(Q) $(MAKE) -C $(1) $(2) TOPDIR="$(TOPDIR)" APPDIR="$(APPDIR)" INSTALL_DIR="$(INSTALL_DIR)" + $(Q) $(MAKE) -C $(1) $(2) TOPDIR="$(TOPDIR)" APPDIR="$(APPDIR)" BIN_DIR="$(BIN_DIR)" endef $(foreach SDIR, $(INSTALLED_APPS), $(eval $(call SDIR_template,$(SDIR),all))) @@ -132,15 +132,15 @@ $(BIN): $(foreach SDIR, $(INSTALLED_APPS), $(SDIR)_all) .install: $(foreach SDIR, $(INSTALLED_APPS), $(SDIR)_install) -$(INSTALL_DIR): - mkdir -p $(INSTALL_DIR) +$(BIN_DIR): + mkdir -p $(BIN_DIR) -install: $(INSTALL_DIR) .install +install: $(BIN_DIR) .install .import: $(BIN) install import: - $(Q) $(MAKE) .import TOPDIR="$(APPDIR)/import" + $(Q) $(MAKE) .import TOPDIR="$(APPDIR)$(DELIM)import" context: $(foreach SDIR, $(INSTALLED_APPS), $(SDIR)_context) @@ -171,6 +171,6 @@ else ) endif $(call DELFILE, .depend) - $(call DELDIR, $(INSTALL_DIR)) + $(call DELDIR, $(BIN_DIR)) diff --git a/examples/hello/Makefile b/examples/hello/Makefile index 2cacfb139..61eba2808 100644 --- a/examples/hello/Makefile +++ b/examples/hello/Makefile @@ -39,36 +39,45 @@ include $(APPDIR)/Make.defs # Hello, World! built-in application info -APPNAME = hello -PRIORITY = SCHED_PRIORITY_DEFAULT -STACKSIZE = 2048 +APPNAME = hello +PRIORITY = SCHED_PRIORITY_DEFAULT +STACKSIZE = 2048 # Hello, World! Example -ASRCS = -CSRCS = hello_main.c +ASRCS = +CSRCS = hello_main.c -AOBJS = $(ASRCS:.S=$(OBJEXT)) -COBJS = $(CSRCS:.c=$(OBJEXT)) +AOBJS = $(ASRCS:.S=$(OBJEXT)) +COBJS = $(CSRCS:.c=$(OBJEXT)) -SRCS = $(ASRCS) $(CSRCS) -OBJS = $(AOBJS) $(COBJS) +SRCS = $(ASRCS) $(CSRCS) +OBJS = $(AOBJS) $(COBJS) ifeq ($(CONFIG_WINDOWS_NATIVE),y) - BIN = ..\..\libapps$(LIBEXT) + BIN = ..\..\libapps$(LIBEXT) else ifeq ($(WINTOOL),y) - BIN = ..\\..\\libapps$(LIBEXT) + BIN = ..\\..\\libapps$(LIBEXT) else - BIN = ../../libapps$(LIBEXT) + BIN = ../../libapps$(LIBEXT) endif endif -ROOTDEPPATH = --dep-path . +ifeq ($(WINTOOL),y) + INSTALL_DIR = "${shell cygpath -w $(BIN_DIR)}" +else + INSTALL_DIR = $(BIN_DIR) +endif + +CONFIG_EXAMPLES_HELLO_PROGNAME ?= hello$(EXEEXT) +PROGNAME = $(CONFIG_EXAMPLES_HELLO_PROGNAME) + +ROOTDEPPATH = --dep-path . # Common build -VPATH = +VPATH = all: .built .PHONY: clean depend distclean @@ -84,11 +93,11 @@ $(COBJS): %$(OBJEXT): %.c @touch .built ifeq ($(CONFIG_BUILD_KERNEL),y) -$(INSTALL_DIR)/$(PROGNAME): $(OBJS) - @echo "LD: $<" - $(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) -o $@ $(ARCHCRT0OBJ) $^ $(LDLIBS) +$(BIN_DIR)$(DELIM)$(PROGNAME): $(OBJS) + @echo "LD: $(PROGNAME)" + $(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) -o $(INSTALL_DIR)$(DELIM)$(PROGNAME) $(ARCHCRT0OBJ) $(LDLIBS) -install: $(INSTALL_DIR)/$(PROGNAME) +install: $(BIN_DIR)/$(PROGNAME) else install: diff --git a/examples/nsh/Makefile b/examples/nsh/Makefile index 40b8c8561..843a15be7 100644 --- a/examples/nsh/Makefile +++ b/examples/nsh/Makefile @@ -58,6 +58,12 @@ else endif endif +ifeq ($(WINTOOL),y) + INSTALL_DIR = "${shell cygpath -w $(BIN_DIR)}" +else + INSTALL_DIR = $(BIN_DIR) +endif + CONFIG_EXAMPLES_NSH_PROGNAME ?= nsh$(EXEEXT) PROGNAME = $(CONFIG_EXAMPLES_NSH_PROGNAME) @@ -81,11 +87,11 @@ $(COBJS): %$(OBJEXT): %.c @touch .built ifeq ($(CONFIG_BUILD_KERNEL),y) -$(INSTALL_DIR)/$(PROGNAME): $(OBJS) - @echo "LD: $<" - $(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) -o $@ $(ARCHCRT0OBJ) $^ $(LDLIBS) +$(BIN_DIR)$(DELIM)$(PROGNAME): $(OBJS) + @echo "LD: $(PROGNAME)" + $(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) -o $(INSTALL_DIR)$(DELIM)$(PROGNAME) $(ARCHCRT0OBJ) $(LDLIBS) -install: $(INSTALL_DIR)/$(PROGNAME) +install: $(BIN_DIR)/$(PROGNAME) else install: diff --git a/import/Make.defs b/import/Make.defs index 3506d6ea6..6817e63dd 100644 --- a/import/Make.defs +++ b/import/Make.defs @@ -33,8 +33,8 @@ # ############################################################################ -include ${TOPDIR}/.config -include ${TOPDIR}/build/Make.defs +include $(TOPDIR)/.config +include $(TOPDIR)/build/Make.defs # Control build verbosity # @@ -183,10 +183,10 @@ AFLAGS = $(CFLAGS) -D__ASSEMBLY__ ifeq ($(WINTOOL),y) # Windows-native toolchains - LDLIBPATH = -L "${shell cygpath -w ${APPDIR}}" -L "${shell cygpath -w $(TOPDIR)$(DELIM)libs}" + LDLIBPATH = -L "${shell cygpath -w $(APPDIR)}" -L "${shell cygpath -w $(TOPDIR)$(DELIM)libs}" else # Linux/Cygwin-native toolchain - LDLIBPATH = -L ${APPDIR} -L $(TOPDIR)$(DELIM)libs + LDLIBPATH = -L $(APPDIR) -L $(TOPDIR)$(DELIM)libs endif LDLIBS = -lnuttx