{"action":"created","issue":{"url":"https://api.github.com/repos/sudar/Arduino-Makefile/issues/299","labels_url":"https://api.github.com/repos/sudar/Arduino-Makefile/issues/299/labels{/name}","comments_url":"https://api.github.com/repos/sudar/Arduino-Makefile/issues/299/comments","events_url":"https://api.github.com/repos/sudar/Arduino-Makefile/issues/299/events","html_url":"https://github.com/sudar/Arduino-Makefile/issues/299","id":50331457,"number":299,"title":"problem with rules in Win7","user":{"login":"BobWorkman","id":9982942,"avatar_url":"https://avatars.githubusercontent.com/u/9982942?v=3","gravatar_id":"","url":"https://api.github.com/users/BobWorkman","html_url":"https://github.com/BobWorkman","followers_url":"https://api.github.com/users/BobWorkman/followers","following_url":"https://api.github.com/users/BobWorkman/following{/other_user}","gists_url":"https://api.github.com/users/BobWorkman/gists{/gist_id}","starred_url":"https://api.github.com/users/BobWorkman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BobWorkman/subscriptions","organizations_url":"https://api.github.com/users/BobWorkman/orgs","repos_url":"https://api.github.com/users/BobWorkman/repos","events_url":"https://api.github.com/users/BobWorkman/events{/privacy}","received_events_url":"https://api.github.com/users/BobWorkman/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/sudar/Arduino-Makefile/labels/Windows","name":"Windows","color":"fef2c0"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":9,"created_at":"2014-11-28T00:55:07Z","updated_at":"2015-01-10T14:43:40Z","closed_at":null,"body":"I am running under Win7 with Win-AVR (in system path) providing the required AVR utilities\r\nalthough I have defined  AVR_TOOLS_DIR = c:/apps/Arduino-1.0/hardware/tools/avr\r\n\r\nI seem to be having substitution problems. I have found work arounds but would like to\r\nget thinks working properly and understand why they are not working.\r\n\r\nthe major problem is the rule to make target `build-uno/Blink.o' from the blink.ino file.\r\nhere is the output from the make\r\n\r\n> make\r\n-------------------------\r\nArduino.mk Configuration:\r\n- [AUTODETECTED]       CURRENT_OS = WINDOWS\r\n- [USER]               ARDUINO_DIR = c:/apps/Arduino-1.0\r\n- [USER]               ARDMK_DIR = ../../\r\n- [AUTODETECTED]       ARDUINO_VERSION = 100\r\n- [DEFAULT]            ARCHITECTURE =\r\n- [DEFAULT]            VENDOR = arduino\r\n- [DEFAULT]            ARDUINO_SKETCHBOOK = /sketchbook\r\n- [USER]               AVR_TOOLS_DIR = c:/apps/Arduino-1.0/hardware/tools/avr\r\n- [COMPUTED]           ARDUINO_LIB_PATH = c:/apps/Arduino-1.0/libraries (from ARDUINO_DIR)\r\n- [DEFAULT]            ARDUINO_CORE_PATH = c:/apps/Arduino-1.0/hardware/arduino//cores/arduino\r\n- [COMPUTED]           ARDUINO_VAR_PATH = c:/apps/Arduino-1.0/hardware/arduino//variants (from ARDUINO_DIR)\r\n- [COMPUTED]           BOARDS_TXT = c:/apps/Arduino-1.0/hardware/arduino//boards.txt (from ARDUINO_DIR)\r\n- [DEFAULT]            USER_LIB_PATH = /sketchbook/libraries (in user sketchbook)\r\n- [DEFAULT]            PRE_BUILD_HOOK = pre-build-hook.sh\r\n- [USER]               BOARD_TAG = uno\r\n- [COMPUTED]           OBJDIR = build-uno (from BOARD_TAG)\r\n../../Arduino.mk:732: display local sources initialization\r\n- [CONFIG DEBUG MSG]   MAKEFILE_LIST =  makefile ../../Arduino.mk ../../\\Common.mk\r\n- [CONFIG DEBUG MSG]   LOCAL_C_SRCS =\r\n- [CONFIG DEBUG MSG]   LOCAL_CPP_SRCS =\r\n- [CONFIG DEBUG MSG]   LOCAL_CC_SRCS =\r\n- [CONFIG DEBUG MSG]   LOCAL_PDE_SRCS =\r\n- [CONFIG DEBUG MSG]   LOCAL_INO_SRCS = Blink.ino\r\n- [CONFIG DEBUG MSG]   LOCAL_AS_SRCS =\r\n- [CONFIG DEBUG MSG]   LOCAL_SRCS = Blink.ino\r\n- [CONFIG DEBUG MSG]   TARGET = Blink\r\n- [CONFIG DEBUG MSG]   OBJDIR = build-uno\r\n- [CONFIG DEBUG MSG]   LOCAL_OBJ_FILES = Blink.o\r\n- [CONFIG DEBUG MSG]   LOCAL_OBJS = build-uno/Blink.o\r\n- [CONFIG DEBUG MSG]   TEMP_DEBUG_VAR = Blink.o\r\n- [CONFIG DEBUG MSG]   TEMP_DEBUG_VAR2 = Blink.o\r\n- [ASSUMED]            MONITOR_BAUDRATE = 9600\r\n- [DEFAULT]            OPTIMIZATION_LEVEL = s\r\n- [DEFAULT]            MCU_FLAG_NAME = mmcu\r\n- [DEFAULT]            CFLAGS_STD =\r\n- [DEFAULT]            CXXFLAGS_STD =\r\n- [AUTODETECTED]       DEVICE_PATH =\r\n- [AUTODETECTED]       Size utility: AVR-aware for enhanced output\r\n- [COMPUTED]           BOOTLOADER_PARENT = c:/apps/Arduino-1.0/hardware/arduino//bootloaders (from ARDUINO_DIR)\r\n- [COMPUTED]           ARDMK_VERSION = 1.3.4\r\n../../Arduino.mk:1099: debug variable dump\r\n- [COMPUTED]           CC_VERSION = 4.3.2 (avr-gcc)\r\n- [DEBUG MESSAGE]      TARGET = Blink\r\n- [DEBUG Message]      OBJDIR = build-uno\r\n- [DEBUG Message]      TARGET_EEP = build-uno/Blink.eep\r\n- [DEBUG Message]      TARGET_ELF = build-uno/Blink.elf\r\n- [DEBUG Message]      TARGET_HEX = build-uno/Blink.hex\r\n- [DEBUG Message]      LOCAL_OBJS = build-uno/Blink.o\r\n- [DEBUG Message]      LIB_OBJS =\r\n- [DEBUG Message]      PLATFORM_LIB_OBJS =\r\n- [DEBUG Message]      USER_LIB_OBJS =\r\n- [DEBUG Message]      OTHER_OBJS =\r\n- [DEBUG Message]      COMMON_DEPS =\r\n-------------------------\r\nmake: *** No rule to make target `build-uno/Blink.o', needed by `build-uno/Blink.elf'.  Stop.\r\n\r\n$\r\n\r\nIn the arduino.mk file the following rule exists:\r\n # the ino -> o file\r\n $(OBJDIR)/%.o: %.ino $(COMMON_DEPS) | $(OBJDIR)\r\n\t$(warning processing rule $(OBJDIR)/%.o )\r\n\t@$(MKDIR) $(dir $@)\r\n\t$(CXX) -x c++ -include $(ARDUINO_HEADER) -MMD -c $(CPPFLAGS) $(CXXFLAGS) $< -o  \r\n\r\n\r\n $(OBJDIR)/%.o   should match build-uno/Blink.o but does not.\r\n\r\nif I add this rule build-uno/Blink.o: blink.ino $(COMMON_DEPS) | $(OBJDIR)\r\neverything compiles OK.\r\n\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/sudar/Arduino-Makefile/issues/comments/69458096","html_url":"https://github.com/sudar/Arduino-Makefile/issues/299#issuecomment-69458096","issue_url":"https://api.github.com/repos/sudar/Arduino-Makefile/issues/299","id":69458096,"user":{"login":"BobWorkman","id":9982942,"avatar_url":"https://avatars.githubusercontent.com/u/9982942?v=3","gravatar_id":"","url":"https://api.github.com/users/BobWorkman","html_url":"https://github.com/BobWorkman","followers_url":"https://api.github.com/users/BobWorkman/followers","following_url":"https://api.github.com/users/BobWorkman/following{/other_user}","gists_url":"https://api.github.com/users/BobWorkman/gists{/gist_id}","starred_url":"https://api.github.com/users/BobWorkman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BobWorkman/subscriptions","organizations_url":"https://api.github.com/users/BobWorkman/orgs","repos_url":"https://api.github.com/users/BobWorkman/repos","events_url":"https://api.github.com/users/BobWorkman/events{/privacy}","received_events_url":"https://api.github.com/users/BobWorkman/received_events","type":"User","site_admin":false},"created_at":"2015-01-10T14:43:40Z","updated_at":"2015-01-10T14:43:40Z","body":"Okay I am trying to organize my ramblings into a coherent activity log.\r\nThe 1st problem I am having is understanding why the arduinio.mk uses the $% variable in the rulers.\r\ne.g.  $(OBJDIR)/%.eep: $(OBJDIR)/%.elf $(COMMON_DEPS) \r\n\r\nMy documentation says $% is the target of the rule, when the target is a archive member, and is empty when the target is not an archive member.\r\nMy testing seems to bear this out, will do more testing but not being a ‘Makefile’ guru I thought I would pose the question to a UNIX person to see if it is perhaps a Windows/Unix difference.\r\n\r\nAlso is there a way to post a file or will I have to copy & paste my notes.\r\n\r\nFrom: Sudar \r\nSent: Sunday, January 04, 2015 11:19 PM\r\nTo: sudar/Arduino-Makefile \r\nCc: BobWorkman \r\nSubject: Re: [Arduino-Makefile] problem with rules in Win7 (#299)\r\n\r\n  Will try to find my notes and post them\r\n\r\nThe main reason why we don't have good support for Windows is because both me and most of the core developers don't have access to a Windows machine to test it.\r\n\r\nIf you could share your notes then it would be very useful.\r\n\r\n—\r\nReply to this email directly or view it on GitHub.\r\n\r\n\r\n\r\n--------------------------------------------------------------------------------\r\n\r\nNo virus found in this incoming message.\r\nChecked by AVG - www.avg.com \r\nVersion: 9.0.935 / Virus Database: 4253.1.1/8365 - Release Date: 01/03/15 20:01:00"}}