Hello list,

GNU Make Manual / 10.2 / Linking a single object file, mentions this:
    x: y.o z.o 


I have three c source files: x.c, y.c, z.c and I name x as the target on left. 
Can I put x.o in the prerequisites on the right too? Are they the same, with or 
without x.o in the prerequisites on the right?    
    x: y.o z.o x.o  # with x.o


Is it correct for me to use patsubst function to include all object files?
    x: $(patsubst %.c,%.o,$(wildcard *.c))


In my test the rule with patsubst works on most cases. But if my code uses 
C++20 modules, I need to omit x.o if I want to omit the recipe:
    x: y.o z.o  # without x.o and recipe


if I include x.o, I can't omit the recipe:
    ` x: y.o z.o x.o ` # with x.o 
    `    $ (CXX) $ (LDFLAGS) $^ $(LDLIBS) -o $@ ` # with 
recipe



Thanks

Reply via email to