lnstools

Linux namespace tools
git clone https://ccx.te2000.cz/git/lnstools
Log | Files | Refs | README

gen-cc (757B)


      1 #!/bin/awk -f
      2 #LIBRARY_PATH
      3 #CPATH
      4 #C_INCLUDE_PATH
      5 #CPLUS_INCLUDE_PATH
      6 #OBJC_INCLUDE_PATH
      7 # '$(CC) $(CPPFLAGS) $(CFLAGS) -c'
      8 # '$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c'
      9 # '$(CC) $(LDFLAGS) N.o $(LOADLIBES) $(LDLIBS)'
     10 
     11 function shquote(text) {
     12 	if(text !~ "[^-+,_./:@0-9A-Za-z]") {
     13 		return text
     14 	}
     15 	gsub("'", "'\\''", text)
     16 	return "'" text "'"
     17 }
     18 
     19 function or_(first, second) {
     20 	return length(first) ? first : second
     21 }
     22 
     23 function set_env(var) {
     24 	if(var in ENVIRON) {
     25 		print var "=" shquote(ENVIRON[var])
     26 	} else {
     27 		print "unset -v " var
     28 	}
     29 }
     30 
     31 BEGIN {
     32 	print "#!" or_(ENVIRON["sh"], "/bin/sh")
     33 	set_env("LIBRARY_PATH")
     34 	set_env("CPATH")
     35 	set_env("C_INCLUDE_PATH")
     36 	print "exec " or_(ENVIRON["CC"], "gcc") " " ENVIRON["CPPFLAGS"] " " ENVIRON["CFLAGS"] " \"$@\""
     37 }