Thank you for the quick reply.
This may be a different issue. The files with the same name are OS-specific: e.g., a subfolder win32/a.cpp and another subfolder posix/a.cpp. I think that what I needed for JUCER is a capability of having different targets by including different source files under a single JUCER project. I am not sure if this is already implemented in JUCER, which I could not find. For now, I can achieve that by manually editing JUCER project using JUCER or OS-specific project files (Windows VC project file): i.e., for Linux I can simply open JUCER project file and uncheck the compile option, and for Windows I can remove posix/a.cpp file from solution explorer.
Another workaround is to add conditional compilation for different files; e.g., I defined COMPILE_MAC macro and wrapped the content of win32/a.cpp with the COMPILE_MAC using #ifndef, and wrapped the content of posix/a.cpp with COMPILE_MAC using #ifdef. This seems work with MacOS Xcode, but neither with Windows nor with Linux Makefile. So, I manually edited JUCER file for Linux Makefile using JUCER and VC++ project file using VC++ solution explorer.
I hope that JUCER could allow multiple targets if that is not implemented yet.