README (1988B)
1 fmake 2 ===== 3 ______________________________ 4 | > C:\AndroidApp\ - o x| 5 |------------------------------| 6 | $ fmake | 7 | ++ gradle buildDebug | 8 !______________________________! 9 10 fmake is a tool that brings `make`s interface to almost any build system. 11 12 fmake offers a functionality similar to vim's makeprg, but does so in a 13 way that it can be used in various other programs and applications. 14 15 fmake "intelligently" knows what targets to build and can be 16 configured in the config.h file. 17 18 Usage 19 ----- 20 21 fmake [options] [target] ... 22 Options: 23 -? Prints fmake usage 24 -1|2|3 Force fmake to start from the level specified 25 -C path Change to directory before calling the programs 26 -D Print various types of debugging information. 27 -N Don't actually run any build commands; just print them. 28 -V Print the version number of make and exit. 29 30 Build Chains 31 ------------ 32 fmake automatically understands the following(and many more) sequences, 33 and tries to run it one after the other 34 35 $ cmake -Bout . 36 $ cd out 37 $ make 38 39 --------(vs)---------- 40 41 $ fmake ------------------=> [ You only have to type fmake! ] 42 ++ cmake -Bout 43 ... 44 ++ cmake --build out 45 46 fmake can be forced to re-run the generator using `fmake -2` 47 48 49 Supported build files 50 --------------------- 51 fmake queries filenames from `maker_config_t makers[]` defined in config.h. 52 53 Building fmake 54 -------------- 55 *NIX, 56 $ make 57 $ make install 58 59 MSVC, 60 * Open Developer Command Prompt * 61 C:\fmake> nmake 62 63 Additionally 'type=release' can be passed to build as release. 64 Default is debug. 65 66 FAQ 67 ---- 68 > Why ? 69 fmake was born out of my frustration with having to remember specific 70 commands for every project I worked on. 71 72 > Why default to 'out/' ? 73 'out/' is preferred, as more and more projects are using the 'build' 74 directory for other purposes like setting up CI/CD. 75 76 See Also 77 -------- 78 * errorformat by reviewdog