From a3e68f01b6d211fc5832e695037a562a7a65af2d Mon Sep 17 00:00:00 2001 From: eutarass Date: Mon, 22 Sep 2008 18:28:12 +0000 Subject: Better support for TCF Agent portability: 1. Changed TCF Agent Makefile to use different output directories for different build targets. 2. Agent binary files are now created in "//" directories. 3. Changed agent CDT project file to include multiple build configurations: Cygwin Debug, Cygwin Release, Msys Debug, etc. --- .../Makefile | 50 ++++++++++++++-------- 1 file changed, 32 insertions(+), 18 deletions(-) (limited to 'examples') diff --git a/examples/org.eclipse.tm.tcf.examples.daytime.agent/Makefile b/examples/org.eclipse.tm.tcf.examples.daytime.agent/Makefile index 6e4e99dd7..188feb701 100644 --- a/examples/org.eclipse.tm.tcf.examples.daytime.agent/Makefile +++ b/examples/org.eclipse.tm.tcf.examples.daytime.agent/Makefile @@ -1,35 +1,49 @@ -CC=gcc -CFLAGS=-g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -Wmissing-prototypes -I. -I../../agent -I- +CONF=Debug -CFILES=$(basename $(wildcard *.c)) $(basename $(notdir $(wildcard ../../agent/*.c))) -OFILES=$(filter-out main%.o, $(addsuffix .o, $(CFILES))) -HFILES=$(wildcard *.h) $(wildcard ../../agent/*.h) Makefile - -EXES=agent - -UNAME=$(shell uname -o) +CC=gcc +ifeq ($(CONF),Debug) +CFLAGS=-g +else +CFLAGS=-O +endif +CFLAGS:=$(CFLAGS) -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -Wmissing-prototypes -I. -I../../agent -I- -ifeq ($(UNAME),Cygwin) +OPSYS=$(shell uname -o) +MACHINE=$(shell uname -m) +ifeq ($(OPSYS),Cygwin) LIBS=-lws2_32 -liphlpapi else -ifeq ($(UNAME),Msys) +ifeq ($(OPSYS),Msys) CFLAGS:=-mwin32 $(CFLAGS) LIBS=-lws2_32 -liphlpapi else -LIBS=-lpthread -lrt -lelf +LIBS=-lpthread -lrt endif endif -all: $(EXES) +BINDIR=$(OPSYS)/$(MACHINE)/$(CONF) + +CFILES=$(basename $(wildcard *.c)) $(basename $(notdir $(wildcard ../../agent/*.c))) +OFILES=$(addprefix $(BINDIR)/,$(filter-out main%.o, $(addsuffix .o, $(CFILES)))) +HFILES=$(wildcard *.h) $(wildcard ../../agent/*.h) Makefile + +EXECS=$(BINDIR)/agent + +all: $(EXECS) + +$(BINDIR)/libtcf.a : $(OFILES) + ar -rc $@ $(OFILES) -agent: main.o $(OFILES) - $(CC) $(CFLAGS) -o $@ main.o $(OFILES) $(LIBS) +$(BINDIR)/agent: $(BINDIR)/main.o $(BINDIR)/libtcf.a + $(CC) $(CFLAGS) -o $@ $(BINDIR)/main.o $(BINDIR)/libtcf.a $(LIBS) -%.o: %.c $(HFILES) +$(BINDIR)/%.o: %.c $(HFILES) $(BINDIR) + @mkdir -p $(BINDIR) $(CC) $(CFLAGS) -c -o $@ $< -%.o: ../../agent/%.c $(HFILES) +$(BINDIR)/%.o: ../../agent/%.c $(HFILES) + @mkdir -p $(BINDIR) $(CC) $(CFLAGS) -c -o $@ $< clean: - rm -f *.o $(EXES) + rm -rf $(BINDIR) -- cgit v1.2.3