Commit 66132ce4 authored by Alessandro Rubini's avatar Alessandro Rubini

Makefile: complete reshuffle to make it readable

This fits in 80 columns and makes other space cleanups, but
there is no functional change.

We'll need to touch it seriously when adding Kconfig and ppsi as
an alternative to ptp-noposix, so I'd better have it readable before
changing the meat in there.
Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>

Conflicts:

	Makefile
parent 5433fa2f
...@@ -5,86 +5,59 @@ BOARD = spec ...@@ -5,86 +5,59 @@ BOARD = spec
WITH_ETHERBONE=0 WITH_ETHERBONE=0
# and don't touch the rest unless you know what you're doing. # and don't touch the rest unless you know what you're doing.
CROSS_COMPILE ?= lm32-elf- CROSS_COMPILE ?= lm32-elf-
CC = $(CROSS_COMPILE)gcc
OBJDUMP = $(CROSS_COMPILE)objdump
OBJCOPY = $(CROSS_COMPILE)objcopy
SIZE = $(CROSS_COMPILE)size
OBJS_WRC = wrc_main.o \ OBJS_WRC = wrc_main.o \
wrc_ptp.o \ wrc_ptp.o \
monitor/monitor.o monitor/monitor.o
PTP_NOPOSIX = ptp-noposix PTP_NOPOSIX = ptp-noposix
INCLUDE_DIRS = -I$(PTP_NOPOSIX)/wrsw_hal -I$(PTP_NOPOSIX)/libptpnetif -I$(PTP_NOPOSIX)/softpll -Iinclude INCLUDE_DIRS = -I$(PTP_NOPOSIX)/wrsw_hal \
-I$(PTP_NOPOSIX)/libptpnetif \
-I$(PTP_NOPOSIX)/softpll \
-Iinclude
CFLAGS_EB = -DWITH_ETHERBONE=$(WITH_ETHERBONE) CFLAGS_EB = -DWITH_ETHERBONE=$(WITH_ETHERBONE)
CFLAGS_PTPD = -ffreestanding -DPTPD_FREESTANDING -DWRPC_EXTRA_SLIM -DPTPD_MSBF -DPTPD_DBG \ CFLAGS_PTPD = -ffreestanding \
-DPTPD_NO_DAEMON -DNEW_SINGLE_WRFSM -DPTPD_TRACE_MASK=0 \ -DPTPD_FREESTANDING \
-include $(PTP_NOPOSIX)/compat.h \ -DWRPC_EXTRA_SLIM \
-include $(PTP_NOPOSIX)/PTPWRd/dep/trace.h \ -DPTPD_MSBF \
-include $(PTP_NOPOSIX)/libposix/ptpd-wrappers.h -DPTPD_DBG \
-DPTPD_NO_DAEMON \
-DNEW_SINGLE_WRFSM \
-DPTPD_TRACE_MASK=0 \
-include $(PTP_NOPOSIX)/compat.h \
-include $(PTP_NOPOSIX)/PTPWRd/dep/trace.h \
-include $(PTP_NOPOSIX)/libposix/ptpd-wrappers.h
OBJS_PTPD = $(PTP_NOPOSIX)/PTPWRd/arith.o \ OBJS_PTPD = $(PTP_NOPOSIX)/PTPWRd/arith.o \
$(PTP_NOPOSIX)/PTPWRd/bmc.o \ $(PTP_NOPOSIX)/PTPWRd/bmc.o \
$(PTP_NOPOSIX)/PTPWRd/dep/msg.o \ $(PTP_NOPOSIX)/PTPWRd/dep/msg.o \
$(PTP_NOPOSIX)/PTPWRd/dep/net.o \ $(PTP_NOPOSIX)/PTPWRd/dep/net.o \
$(PTP_NOPOSIX)/PTPWRd/dep/sys.o \ $(PTP_NOPOSIX)/PTPWRd/dep/sys.o \
$(PTP_NOPOSIX)/PTPWRd/dep/timer.o \ $(PTP_NOPOSIX)/PTPWRd/dep/timer.o \
$(PTP_NOPOSIX)/PTPWRd/dep/wr_servo.o \ $(PTP_NOPOSIX)/PTPWRd/dep/wr_servo.o \
$(PTP_NOPOSIX)/PTPWRd/dep/servo.o \ $(PTP_NOPOSIX)/PTPWRd/dep/servo.o \
$(PTP_NOPOSIX)/PTPWRd/protocol.o \ $(PTP_NOPOSIX)/PTPWRd/protocol.o \
$(PTP_NOPOSIX)/PTPWRd/wr_protocol.o \ $(PTP_NOPOSIX)/PTPWRd/wr_protocol.o \
$(PTP_NOPOSIX)/libposix/freestanding-startup.o \ $(PTP_NOPOSIX)/libposix/freestanding-startup.o \
$(PTP_NOPOSIX)/libposix/freestanding-wrapper.o \ $(PTP_NOPOSIX)/libposix/freestanding-wrapper.o \
$(PTP_NOPOSIX)/libposix/net.o \ $(PTP_NOPOSIX)/libposix/net.o \
$(PTP_NOPOSIX)/softpll/softpll_ng.o $(PTP_NOPOSIX)/softpll/softpll_ng.o
CFLAGS_PLATFORM = -mmultiply-enabled -mbarrel-shift-enabled CFLAGS_PLATFORM = -mmultiply-enabled -mbarrel-shift-enabled
LDFLAGS_PLATFORM = -mmultiply-enabled -mbarrel-shift-enabled -nostdlib -T arch/lm32/ram.ld LDFLAGS_PLATFORM = -mmultiply-enabled -mbarrel-shift-enabled \
-nostdlib -T arch/lm32/ram.ld
OBJS_PLATFORM=arch/lm32/crt0.o arch/lm32/irq.o arch/lm32/debug.o OBJS_PLATFORM = arch/lm32/crt0.o arch/lm32/irq.o arch/lm32/debug.o
include shell/shell.mk include shell/shell.mk
include tests/tests.mk include tests/tests.mk
...@@ -92,38 +65,43 @@ include lib/lib.mk ...@@ -92,38 +65,43 @@ include lib/lib.mk
include sockitowm/sockitowm.mk include sockitowm/sockitowm.mk
include dev/dev.mk include dev/dev.mk
CC=$(CROSS_COMPILE)gcc
OBJDUMP=$(CROSS_COMPILE)objdump
OBJCOPY=$(CROSS_COMPILE)objcopy
SIZE=$(CROSS_COMPILE)size
CFLAGS= $(CFLAGS_PLATFORM) $(CFLAGS_EB) $(CFLAGS_PTPD) $(INCLUDE_DIRS) -ffunction-sections -fdata-sections -Os -Iinclude -include include/trace.h $(PTPD_CFLAGS) -I$(PTP_NOPOSIX)/PTPWRd -I. -Isoftpll CFLAGS = $(CFLAGS_PLATFORM) $(CFLAGS_EB) $(CFLAGS_PTPD) $(INCLUDE_DIRS) \
LDFLAGS= $(LDFLAGS_PLATFORM) -ffunction-sections -fdata-sections -Wl,--gc-sections -Os -Iinclude -ffunction-sections -fdata-sections -Os -Iinclude \
OBJS=$(OBJS_PLATFORM) $(OBJS_WRC) $(OBJS_PTPD) $(OBJS_SHELL) $(OBJS_TESTS) $(OBJS_LIB) $(OBJS_SOCKITOWM) $(OBJS_SOFTPLL) $(OBJS_DEV) -include include/trace.h \
OUTPUT=wrc $(PTPD_CFLAGS) -I$(PTP_NOPOSIX)/PTPWRd -I. -Isoftpll
REVISION=$(shell git describe --dirty --always)
LDFLAGS = $(LDFLAGS_PLATFORM) \
-ffunction-sections -fdata-sections -Wl,--gc-sections -Os -Iinclude
OBJS = $(OBJS_PLATFORM) $(OBJS_WRC) $(OBJS_PTPD) \
$(OBJS_SHELL) $(OBJS_TESTS) $(OBJS_LIB) \
$(OBJS_SOCKITOWM) $(OBJS_SOFTPLL) $(OBJS_DEV)
all: tools wrc OUTPUT = wrc
REVISION=$(shell git describe --dirty --always)
wrc: $(OBJS) all: tools wrc
echo "const char *build_revision = \"$(REVISION)\";" > revision.c
echo "const char *build_date = __DATE__ \" \" __TIME__;" >> revision.c wrc: $(OBJS)
ln -sf ../boards/$(BOARD)/board.h include/board.h echo "const char *build_revision = \"$(REVISION)\";" > revision.c
$(CC) $(CFLAGS) -c revision.c echo "const char *build_date = __DATE__ \" \" __TIME__;" >> revision.c
$(SIZE) -t $(OBJS) ln -sf ../boards/$(BOARD)/board.h include/board.h
${CC} -o $(OUTPUT).elf revision.o $(OBJS) $(LDFLAGS) $(CC) $(CFLAGS) -c revision.c
${OBJCOPY} -O binary $(OUTPUT).elf $(OUTPUT).bin $(SIZE) -t $(OBJS)
${OBJDUMP} -d $(OUTPUT).elf > $(OUTPUT)_disasm.S ${CC} -o $(OUTPUT).elf revision.o $(OBJS) $(LDFLAGS)
cd tools; $(MAKE) ${OBJCOPY} -O binary $(OUTPUT).elf $(OUTPUT).bin
./tools/genraminit $(OUTPUT).bin 0 > $(OUTPUT).ram ${OBJDUMP} -d $(OUTPUT).elf > $(OUTPUT)_disasm.S
./tools/genramvhd -s 90112 $(OUTPUT).bin > $(OUTPUT).vhd cd tools; $(MAKE)
./tools/genraminit $(OUTPUT).bin 0 > $(OUTPUT).ram
./tools/genramvhd -s 90112 $(OUTPUT).bin > $(OUTPUT).vhd
clean: clean:
rm -f $(OBJS) $(OUTPUT).elf $(OUTPUT).bin $(OUTPUT).ram rm -f $(OBJS) $(OUTPUT).elf $(OUTPUT).bin $(OUTPUT).ram
%.o: %.c %.o: %.c
${CC} $(CFLAGS) $(PTPD_CFLAGS) $(INCLUDE_DIR) $(LIB_DIR) -c $^ -o $@ $(CC) $(CFLAGS) $(PTPD_CFLAGS) $(INCLUDE_DIR) $(LIB_DIR) -c $^ -o $@
tools: tools:
make -C tools make -C tools
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment