title: Makefile produces error "No rule to make target"
body: <p>I've tried to fix this using the other two most relevant topics: 
  <a href="https://stackoverflow.com/questions/5874780/makefile-error-no-rule-to-make-target">Makefile error: No rule to make target</a>
  <a href="https://stackoverflow.com/questions/20239563/makefile-no-rule-to-make-target-stop">Makefile: No rule to make target. Stop</a></p>
  
  <p>But neither seem to solve my issue.</p>
  
  <p>I'm unsure where my code went wrong, as my instructor verified that the code works on his end.</p>
  
  <p>The code for my makefile is: </p>
  
  <pre><code>TARGET  = demo
  FILES   = test.c
  OBJS    = $(FILES:.c=.o)
  ASMS    = $(FILES:.c=.s)
  
  all:    $(TARGET)
  
  $(TARGET):  $(OBJS)
      gcc -o $@ $^
  
  %.o:    %.c
      gcc -c $&lt; -o $@
  
  %.s:    %.c
      gcc -S -masm=intel $&lt; -o $@
  
  asm:    $(ASMS)
  
  run:    $(TARGET)
      ./$(TARGET)
  
  clean:
      rm -f $(TARGET) $(OBJS) $(ASMS)
  </code></pre>
  
  <p>However, when I attempt to do "make run" it produces the result</p>
  
  <pre><code>make: *** No rule to make target 'run'. Stop.
  </code></pre>
  
  <p>As seen here <a href="https://i.stack.imgur.com/GKwDO.png" rel="nofollow noreferrer">image</a></p>
  
  <p>The actual code to my program that I'm trying to compile is only 4 lines long. I don't think it's the reason for the issue</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  char *msg = "Exam Lab 1";
  
  int main(int argc, char *argv[]) {
      printf("%s\n", msg);
  }
  </code></pre>
  
  <p>Here's the contents of the directory I'm running <code>make</code> from:</p>
  
  <p><a href="https://i.stack.imgur.com/xzS3K.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/xzS3K.png" alt="http://i.imgur.com/r5EnwHj.png"></a></p>