| # 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) -lmach -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) | |
| # Use $(PWD)/$*.c so that gdb shows full path in stack traces. | |
| %.$(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 | |