# TRACE32 TCL Remote API # Copyright (c) 1998-2015 Lauterbach GmbH # All rights reserved # # GNU Makefile # # This makefile needs the swig application. # It can be downloaded using sudo apt-get install swig # You may need to install TCL and adapt its include directory # # CC := gcc TCL := /usr/include/tcl8.6/ CFLAGS := -pipe -c -O2 -MMD -MP -fPIC -Wall -Wextra -g LDFLAGS := -shared CFLAGS32 := -m32 CFLAGS64 := -m64 RM := rm MKDIR := mkdir SWIG := swig ODIR32 := linux ODIR64 := linux64 SDIR := ../capi/src SDIR2 := . TARGETLIB32 := t32tclapi.so TARGETLIB64 := t32tclapi64.so SRCS := hremote.c hlinknet.c t32nettcp.c tcpsimple2.c SRC_SWIG := t32_wrap.c SRCS2 := t32util.c $(SRC_SWIG) DEPS := $(SRCS:%.c=%.d) OBJS := $(SRCS:%.c=%.o) DEPS2 := $(SRCS2:%.c=%.d) OBJS2 := $(SRCS2:%.c=%.o) OBJS32 := $(addprefix $(ODIR32)/,$(OBJS) $(OBJS2)) OBJS64 := $(addprefix $(ODIR64)/,$(OBJS) $(OBJS2)) DEPS32 := $(addprefix $(ODIR32)/,$(DEPS) $(DEPS2)) DEPS64 := $(addprefix $(ODIR64)/,$(DEPS) $(DEPS2)) .PHONY: help help: @echo @echo make help ... show this help @echo make all .... same as make rel @echo make rel .... build t32tclapi.so and t32tclapi64.so @echo make rel32 .. build t32tclapi.so @echo make rel64 .. build t32tclapi64.so @echo make clean .. delete directories ./linux and ./linux64 @echo .PHONY: all all: rel rel: rel32 rel64 rel32: $(ODIR32)/$(TARGETLIB32) rel64: $(ODIR64)/$(TARGETLIB64) $(ODIR32)/$(SRC_SWIG:%.c=%.o) $(ODIR64)/$(SRC_SWIG:%.c=%.o): CFLAGS += -Wno-missing-field-initializers -Wno-unused-but-set-parameter -Wno-missing-braces $(SDIR2)/$(SRC_SWIG): t32.i $(SDIR)/t32.h $(SWIG) -tcl t32.i $(ODIR32) $(ODIR64): $(MKDIR) $@ $(ODIR32)/$(TARGETLIB32): $(OBJS32) $(CC) $(LDFLAGS) $(CFLAGS32) -o $@ $^ $(ODIR64)/$(TARGETLIB64): $(OBJS64) $(CC) $(LDFLAGS) $(CFLAGS64) -o $@ $^ $(ODIR32)/%.o : $(SDIR)/%.c | $(ODIR32) $(CC) $(CFLAGS) $(CFLAGS32) -I$(SDIR) -o $@ $< $(ODIR64)/%.o : $(SDIR)/%.c | $(ODIR64) $(CC) $(CFLAGS) $(CFLAGS64) -I$(SDIR) -o $@ $< $(ODIR32)/%.o : $(SDIR2)/%.c | $(ODIR32) $(CC) $(CFLAGS) $(CFLAGS32) -I$(TCL) -o $@ $< $(ODIR64)/%.o : $(SDIR2)/%.c | $(ODIR64) $(CC) $(CFLAGS) $(CFLAGS64) -I$(TCL) -o $@ $< -include $(DEPS32) $(DEPS64) .PHONY: clean extraclean clean extraclean: -$(RM) -rf $(ODIR32) $(ODIR64) $(SRC_SWIG)