Project

General

Profile

Download (2 KB) Statistics
| Branch: | Tag: | Revision:
1 a59a9825 Christian Daniel
# binary file name
2 b84ad82c Christian Daniel
TARGET=rumba
3 a59a9825 Christian Daniel
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 4cd82c23 Christian Daniel
	src/utils.c \
18
	src/lattice/hardware.c \
19
	src/lattice/slim_pro.c \
20
	src/lattice/slim_vme.c
21 a59a9825 Christian Daniel
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
Add picture from clipboard (Maximum size: 48.8 MB)