title: makefile not updating .o file with respectively with .h file
body: <p>I have following make file :-</p>
  
  <pre><code>VER = Debug
  CC = gcc
  objectfiles = Getstr.o ui.o ustreqsol.o main.o
  pkg = `pkg-config --cflags --libs gtk+-3.0` 
  
  obj = $(addprefix objs/,$(objectfiles))
  
  ../$(VER)/Calculator: $(obj)
      $(CC) -o $@ $(obj) $(pkg)
  
  ./objs/ui.o:ui.c
      $(CC) -c -o $@ $&lt; $(pkg)
  
  ./objs/main.o:main.c
      $(CC) -c -o $@ $&lt; $(pkg)
  
  ./objs/%.o: %.c %.h
      $(CC) -c -o $@ $&lt;
  
  clean:
      -rm ../$(VER)/Calculator
      -rm /objs/*
  </code></pre>
  
  <p>and follwing files in my src dir:-</p>
  
  <pre><code>$ ls 
  Getstr.c  main.c  Makefile  objs  ui.c  ui.h  ustreqsol.c  ustreqsol.h
  </code></pre>
  
  <p>objs is directory. Whenver I change ustreqsol.h file it compiles ustreqsol.c file but not in case for ui.h file</p>
  
  <pre><code>$ touch ustreqsol.h
  $ make
  gcc -c -o objs/ustreqsol.o ustreqsol.c
  gcc -o ../Debug/Calculator objs/Getstr.o objs/ui.o objs/ustreqsol.o objs/main.o `pkg-config --cflags --libs gtk+-3.0` 
  $ make
  make: '../Debug/Calculator' is up to date.
  $ touch ui.h
  $ make
  make: '../Debug/Calculator' is up to date.
  </code></pre>
  
  <p>As a noob in makefiles i have no idea why is this happening </p>