| # Copyright 2009 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. |
| |
| ifeq ($(GOOS),nacl) |
| |
| # Nothing for NaCl |
| all clean install: |
| @true |
| |
| else ifeq ($(GOARCH),arm) |
| |
| # Nothing for ARM - usually cross compiling anyway |
| all clean install: |
| @true |
| |
| else |
| include ../Make.inc |
| |
| all: libcgo.so |
| |
| install: $(QUOTED_GOROOT)/pkg/$(GOOS)_$(GOARCH)/libcgo.so |
| |
| OFILES=\ |
| $(GOOS)_$(GOARCH).o\ |
| $(GOARCH).o\ |
| util.o\ |
| |
| HOST_CFLAGS_386=-m32 |
| HOST_CFLAGS_amd64=-m64 |
| |
| LDFLAGS_darwin=-dynamiclib -Wl,-undefined,dynamic_lookup /usr/lib/libpthread.dylib |
| LDFLAGS_freebsd=-shared -lm -pthread |
| LDFLAGS_linux=-shared -lm -lpthread |
| LDFLAGS_nacl=-shared -lm -lpthread |
| LDFLAGS_windows=-shared -lm -mthreads |
| |
| %.o: %.c |
| $(HOST_CC) $(HOST_CFLAGS_$(GOARCH)) -g -O2 -fPIC -o $@ -c $*.c |
| |
| %.o: %.S |
| $(HOST_CC) $(HOST_CFLAGS_$(GOARCH)) -g -O2 -fPIC -o $@ -c $*.S |
| |
| libcgo.so: $(OFILES) |
| $(HOST_CC) $(HOST_CFLAGS_$(GOARCH)) -o libcgo.so $(OFILES) $(LDFLAGS_$(GOOS)) |
| |
| $(QUOTED_GOROOT)/pkg/$(GOOS)_$(GOARCH)/libcgo.so: libcgo.so |
| cp libcgo.so $(QUOTED_GOROOT)/pkg/$(GOOS)_$(GOARCH) |
| |
| clean: |
| rm -f *.o *.so |
| |
| endif |