Project

General

Profile

Download (2 KB) Statistics
| Branch: | Tag: | Revision:
1
# binary file name
2
TARGET=rumba
3

    
4
# CROSS_COMPILE=
5
QUIET=@
6

    
7
# N = build release version
8
# y = optimize but include debugger info
9
# Y = build debug version
10
DEBUG=N
11

    
12
C_SOURCES=\
13
	src/main.c \
14
	src/osmosdr.c \
15
	src/sam3u.c \
16
	src/serial.c \
17
	src/utils.c \
18
	src/lattice/hardware.c \
19
	src/lattice/slim_pro.c \
20
	src/lattice/slim_vme.c
21

    
22
# general compiler flags
23
CFLAGS=-Wall
24
LDFLAGS=-Wl,-Map=$(FULLTARGET).map
25
LIBS=-lrt
26

    
27
##############################################################################
28

    
29
SUBDIRS=$(sort $(dir $(C_SOURCES)))
30

    
31
DEPDIR=deps
32
OBJDIR=objs
33
BINDIR=bin
34
DEPDIRS=$(addprefix $(DEPDIR)/,$(SUBDIRS))
35
OBJDIRS=$(addprefix $(OBJDIR)/,$(SUBDIRS))
36

    
37
CC=$(CROSS_COMPILE)gcc
38
LD=$(CROSS_COMPILE)gcc
39

    
40
COBJS=$(C_SOURCES:%.c=%.o)
41
DEPS=$(C_SOURCES:%.c=%.dep)
42
FULLDEPS=$(addprefix $(DEPDIR)/,$(DEPS))
43
FULLCOBJS=$(addprefix $(OBJDIR)/,$(COBJS))
44
FULLTARGET=$(addprefix $(BINDIR)/,$(TARGET))
45

    
46
ifeq ($(DEBUG),Y)
47
	# debug version
48
	CFLAGS+=-O0 -g3
49
	LDFLAGS+=-g3
50
else ifeq ($(DEBUG),y)
51
	# optimized version with debugger info
52
	CFLAGS+=-O2 -g3 -Werror -ffunction-sections -fdata-sections
53
	LDFLAGS+=-g3 -Wl,--gc-sections
54
else
55
	# release version
56
	CFLAGS+=-O2 -s -Werror -ffunction-sections -fdata-sections
57
	LDFLAGS+=-s -Wl,--gc-sections
58
endif
59

    
60
.PHONY: all build clean distclean
61

    
62
all: build
63

    
64
build: $(FULLTARGET)
65

    
66
-include $(FULLDEPS)
67

    
68
$(FULLTARGET): $(DEPDIRS) $(OBJDIRS) $(BINDIR) $(FULLCOBJS)
69
	@echo LD \ $(TARGET)
70
	$(QUIET)$(LD) $(LDFLAGS) -o $(FULLTARGET) -Wl,--start-group $(FULLCOBJS) $(LIBS) -Wl,--end-group
71
	$(QUIET)ln -sf $(FULLTARGET) $(TARGET)
72

    
73
$(FULLCOBJS):
74
	@echo C\ \ \ $(patsubst $(OBJDIR)/%,%,$(patsubst %.o,%.c, $@))
75
	$(QUIET)$(CC) $(CFLAGS) $(CFLAGS_$(subst /,_,$(patsubst %.o,%,$@))) -MD -MP -MF $(patsubst %.o,$(DEPDIR)/%.dep,$(patsubst $(OBJDIR)/%,%,$@)) -c $(patsubst $(OBJDIR)/%,%,$(patsubst %.o,%.c, $@)) -o $@
76

    
77
$(DEPDIRS):
78
	$(QUIET)mkdir -p $@
79
	
80
$(OBJDIRS):
81
	$(QUIET)mkdir -p $@
82
	
83
$(BINDIR):
84
	$(QUIET)mkdir -p $@
85

    
86
clean:
87
	$(QUIET)echo CLEAN
88
	$(QUIET)rm -Rf $(DEPDIR) $(OBJDIR) $(BINDIR) $(TARGET) $(TARGET).map *~ *.s *.ss
89

    
90
distclean: clean
(1-1/2)
Add picture from clipboard (Maximum size: 48.8 MB)