But mentioning target.o ("x.o") and recipe or not in my Makefile, does have different result. My test follows.
1. error: with target.o ("x.o"), without recipe
$ ls
a.cpp b.cpp c.cpp d.cpp main.cpp Makefile
$
$ cat Makefile
CXXFLAGS = -Wall -Wextra -std=c++2a -fmodules-ts -g # -O3 -fPIC
main : c.o b.o a.o d.o main.o
# $(CXX) $^ -o $@
$ make
g++ -Wall -Wextra -std=c++2a -fmodules-ts -g -c -o main.o main.cpp
In module imported at main.cpp:1:1:
A: error: failed to read compiled module: No such file or directory
A: note: compiled module file is ??gcm.cache/A.gcm??
A: note: imports must be built before being imported
A: fatal error: returning to the gate for a mechanical issue
compilation terminated.
make: *** [<builtin>: main.o] Error 1
$
2. ok: without target.o and recipe
$ rm -fr *.o gcm.cache main
$ cat Makefile
CXXFLAGS = -Wall -Wextra -std=c++2a -fmodules-ts -g # -O3 -fPIC
main : c.o b.o a.o d.o # main.o
# $(CXX) $^ -o $@
$ make
g++ -Wall -Wextra -std=c++2a -fmodules-ts -g -c -o c.o c.cpp
g++ -Wall -Wextra -std=c++2a -fmodules-ts -g -c -o b.o b.cpp
g++ -Wall -Wextra -std=c++2a -fmodules-ts -g -c -o a.o a.cpp
g++ -Wall -Wextra -std=c++2a -fmodules-ts -g -c -o d.o d.cpp
g++ -Wall -Wextra -std=c++2a -fmodules-ts -g main.cpp c.o b.o a.o d.o -o main
$
3. ok: with target.o and recipe
$ rm -fr *.o gcm.cache main
$ cat Makefile
CXXFLAGS = -Wall -Wextra -std=c++2a -fmodules-ts -g # -O3 -fPIC
main : c.o b.o a.o d.o main.o
$(CXX) $^ -o $@
$ make
g++ -Wall -Wextra -std=c++2a -fmodules-ts -g -c -o c.o c.cpp
g++ -Wall -Wextra -std=c++2a -fmodules-ts -g -c -o b.o b.cpp
g++ -Wall -Wextra -std=c++2a -fmodules-ts -g -c -o a.o a.cpp
g++ -Wall -Wextra -std=c++2a -fmodules-ts -g -c -o d.o d.cpp
g++ -Wall -Wextra -std=c++2a -fmodules-ts -g -c -o main.o main.cpp
g++ c.o b.o a.o d.o main.o -o main
$
$ make --version
GNU Make 4.3
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
$