forked from bjarneh/godag
compiler frontend for golang
License
emergenesis/godag
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About: ------------------------------------------------------------ This program will hopefully make it easier to compile source code written in the go programming language. A dependency graph is constructed from imports, this is sorted with a topological sort to figure out a legal compile order. Testing, formatting and building reverse dependencies are also automated. Install: [Linux/Unix/Mac/Windows] ------------------------------------------------------------ Compile and link the makefile, you may want to substitute 8g and 8l with 6g/5g and 6l/5l pending on your architecture 1) 8g _gdmk.go 2) 8l -o gdmk _gdmk.8 # on Windows gdmk.exe 3) ./gdmk install # on Windows gdmk.exe This will compile + link the binary (gd) and move it to $HOME/bin if it is present, if not it falls back to $GOBIN, which is required now. ./gdmk -help to see all available targets/options Try it Out: ------------------------------------------------------------ You can try to compile the same source using the generated executable: gd $ gd src # will compile source inside src $ gd -p src # will print dependency info gathered $ gd -s src # will print legal compile order $ gd src -test # will run unit-tests $ gd src -fmt # will format (gofmt) the source-code $ gd src -o gd # will compile and link executable $ gd -e src # will goinstall external dependencies Contributors ------------------------------------------------------------ Hans Stimer Markus Martin Robert Hencke Hunter Freyer Philosophy (Babble?) ------------------------------------------------------------ Without a tool to figure out which order the source should be compiled, Makefiles are usually the result. Makefiles are static in nature, which make them a poor choice to handle a dynamic problem like a changing source tree. They also make flat structures quite common, since this usually simplifies the Makefiles, but makes organisation far less intuitive than a directory-tree package-structure. Completion ------------------------------------------------------------ Bash completion scripts for gd and gdmk are placed in util Logo ------------------------------------------------------------ The logo was made with LaTeX and tikz, it's basically just an upside down g filled with yellow.. =start LaTeX \documentclass[12pt]{article} \usepackage{tikz} \usepackage{nopageno} \begin{document} \begin{tikzpicture}[remember picture,overlay] \node [scale=75,fill=black!100,opacity=.8, rounded corners] at (current page.center) {}; \node [rotate=180,scale=63,text opacity=0.9,yellow] at (current page.center) {g}; \end{tikzpicture} \end{document} =end LaTeX -bjarneh
About
compiler frontend for golang
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published