diff options
Diffstat (limited to '')
| -rw-r--r-- | mingw.bld | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/mingw.bld b/mingw.bld new file mode 100644 index 0000000..61dbeaf --- /dev/null +++ b/mingw.bld | |||
| @@ -0,0 +1,80 @@ | |||
| 1 | /** | ||
| 2 | * This is the default.bld file for libbu++, it pretty much handles everything | ||
| 3 | * libbu++ related, kinda' cool, eh? It can completely replace the old build | ||
| 4 | * and actually does a better job with a number of things. | ||
| 5 | */ | ||
| 6 | |||
| 7 | CXXFLAGS += "-ggdb -W -Wall"; | ||
| 8 | |||
| 9 | |||
| 10 | action "default" | ||
| 11 | { | ||
| 12 | build: [targets("header-links"), "libbu++win.a"]; | ||
| 13 | } | ||
| 14 | |||
| 15 | |||
| 16 | target files("src/*.h").replace("src/", "bu/") | ||
| 17 | { | ||
| 18 | tag "header-links"; | ||
| 19 | display "symlink"; | ||
| 20 | input OUTPUT.replace("bu/","src/"); | ||
| 21 | profile "build" | ||
| 22 | { | ||
| 23 | execute("ln -s ../${INPUT} ${OUTPUT}"); | ||
| 24 | } | ||
| 25 | } | ||
| 26 | |||
| 27 | target "libbu++win.a" | ||
| 28 | { | ||
| 29 | input files("src/*.cpp"); | ||
| 30 | rule "lib"; | ||
| 31 | CXXFLAGS += "-I. -Isupport/windows"; | ||
| 32 | } | ||
| 33 | |||
| 34 | target "src/process.win_o" | ||
| 35 | { | ||
| 36 | profile "build" | ||
| 37 | { | ||
| 38 | execute("rm -f src/process.win_o && touch src/process.win_o && echo NOT BUILDING PROCESS RIGHT NOW!!!"); | ||
| 39 | } | ||
| 40 | } | ||
| 41 | target "src/regex.win_o" | ||
| 42 | { | ||
| 43 | profile "build" | ||
| 44 | { | ||
| 45 | execute("rm -f src/regex.win_o && touch src/regex.win_o && echo NOT BUILDING REGEX RIGHT NOW!!!"); | ||
| 46 | } | ||
| 47 | } | ||
| 48 | |||
| 49 | function cppToWinObj() | ||
| 50 | { | ||
| 51 | if OBJ_DIR == null then | ||
| 52 | { | ||
| 53 | return INPUT.regex("\\.cpp$", ".win_o"); | ||
| 54 | } | ||
| 55 | else | ||
| 56 | { | ||
| 57 | return OBJ_DIR + "/" + INPUT.fileName().regex("\\.cpp$", ".win_o"); | ||
| 58 | } | ||
| 59 | |||
| 60 | } | ||
| 61 | |||
| 62 | rule "lib" | ||
| 63 | { | ||
| 64 | input "*.win_o"; | ||
| 65 | profile "build" | ||
| 66 | { | ||
| 67 | execute("wine C:/MinGW/bin/ar.exe cr ${OUTPUT} ${INPUT}"); | ||
| 68 | } | ||
| 69 | } | ||
| 70 | |||
| 71 | rule "wincpp" | ||
| 72 | { | ||
| 73 | input "*.cpp"; | ||
| 74 | output INPUT.cppToWinObj(); | ||
| 75 | //requires getMakeDeps("wine C:/MinGW/bin/g++.exe ${CXXFLAGS} -M ${INPUT}"); | ||
| 76 | profile "build" | ||
| 77 | { | ||
| 78 | execute("wine C:/MinGW/bin/g++.exe ${CXXFLAGS} -c -o ${OUTPUT} ${INPUT}", "g++"); | ||
| 79 | } | ||
| 80 | } | ||
