summaryrefslogtreecommitdiff
path: root/src/Make.ccmd
diff options
context:
space:
mode:
Diffstat (limited to 'src/Make.ccmd')
-rw-r--r--src/Make.ccmd44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/Make.ccmd b/src/Make.ccmd
new file mode 100644
index 000000000..cb2b25512
--- /dev/null
+++ b/src/Make.ccmd
@@ -0,0 +1,44 @@
+# Copyright 2010 The Go Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style
+# license that can be found in the LICENSE file.
+
+# Makefile for commands written in C.
+
+ifeq (windows,$(findstring windows, $(shell uname | tr A-Z a-z | sed 's/mingw/windows/')))
+TARG:=$(TARG).exe
+endif
+
+$(TARG): $(OFILES) $(LIB)
+ $(HOST_LD) -o $(TARG) -L"$(GOROOT)"/lib $(OFILES) $(LIB) -lbio -l9 -lm $(HOST_LDFLAGS)
+
+$(OFILES): $(HFILES)
+
+CLEANFILES+=y.tab.[ch]
+
+clean:
+ rm -f *.$(HOST_O) $(TARG) $(CLEANFILES)
+
+ifneq ($(NOINSTALL),1)
+install: $(QUOTED_GOBIN)/$(TARG)
+endif
+
+$(QUOTED_GOBIN)/$(TARG): $(TARG)
+ cp $(TARG) "$(GOBIN)"/$(TARG)
+
+y.tab.h: $(YFILES)
+ bison -y $(HOST_YFLAGS) $(YFILES)
+
+y.tab.c: y.tab.h
+ test -f y.tab.c && touch y.tab.c
+
+all: $(TARG)
+
+%.$(HOST_O): %.c
+ $(HOST_CC) $(HOST_CFLAGS) -c "$(PWD)/$*.c"
+
+# These are used by enough different Makefiles to be
+# worth writing down in one place, even if they don't
+# apply to every command that builds with Make.ccmd
+../%l/enam.o:
+ cd ../$*l; $(MAKE) enam.o
+