| # 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) |
| |
| nuke: clean |
| rm -f "$(GOBIN)/$(TARG)" |
| |
| 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 |
| |