Hello,
I try to have a file by file compile for windows.
But i'm lost with
RAYDLL
FORCE_LIBRAYDIUM
DO_NOT_INCLUDE_HEADER
MAIN_C
MAIN_H and even
LIBRAY:?:. ..... sure it's not the first time !
basic index.c compiling is quite long for often very small changes.
Here is what i've found, can you just confirm ?, perhaps detail if you have lot's of free time ?
1) First: FORCE_LIBRAYDIUM and MAIN_C are the same !FORCE_LIBRAYDIUM => MAIN_C, FORCE_LIBRAYDIUM => MAIN_H.
2) If raydll is not defined, i can just compile static app, but i can not build static raydium.lib without adding an other define (no .... not an other one please) to define __global as extern in the appli (not the lib).
3) if raydll is define: when i build index.c i build the lib dll.
4) if raydll is defined: when i build something that include index.h, or if i FORCE_LIBRAYDIUM and i include index.c i build a shared app (which will use the dll).
5) To build the librarie as on linux (file by file compile). i need RAYDLL defined and MAIN_C so !FORCE_LIBRAYDIUM. But as files include index.h i'll have MAIN_H defined.
Last but don't forget :
big troubles no bubbles !!!6) Each file will include index.h so main.h so common.h so all global vars will be in each object file. Linking all of this together make 33Mo for the lib (ouch).
This cause a problem in path api, each variable exist in each object (or i'm false ?).
And there i don't understand how you handle this case with the linux makefile.
Don't waste your time about raydll and forcelibraydium it's in an other post (i'm quite sure of 1,2,3,4).
Do you have an idea of steps or modifications needed to have file by file build on windows ?
Have a nice day.
Ouille with headache.