mirror of
https://github.com/oliverschmidt/contiki.git
synced 2024-09-09 23:54:32 +00:00
136 lines
3.8 KiB
Makefile
136 lines
3.8 KiB
Makefile
#
|
|
# Makefile for PC-6001 using z80/SDCC
|
|
# @author Takahide Matsutsuka <markn@markn.org>
|
|
#
|
|
# $Id: Makefile.pc-6001,v 1.11 2009/07/09 18:28:20 matsutsuka Exp $
|
|
#
|
|
|
|
ifndef CONTIKI
|
|
$(error CONTIKI not defined! You must specify where CONTIKI resides!)
|
|
endif
|
|
|
|
# Default values
|
|
ARCH=PC6001
|
|
MEMORY=32K
|
|
PLATFORM_APPS=$(PLATFORM_APPS_DESKTOP)
|
|
CONTIKI_TARGET_MAIN = contiki-main.c
|
|
CTKCONF = NORMAL
|
|
LOADER = 0
|
|
|
|
# Target dependent options
|
|
ifeq ($(MAKECMDGOALS),p62)
|
|
ARCH=PC6001MK2
|
|
else ifeq ($(MAKECMDGOALS),p6A)
|
|
ARCH=PC6001A
|
|
else ifeq ($(MAKECMDGOALS),minimal)
|
|
MEMORY=16K
|
|
CONTIKI_TARGET_MAIN=contiki-minimal-main.c
|
|
else ifeq ($(MAKECMDGOALS),serial)
|
|
CONTIKI_TARGET_MAIN=contiki-serial-main.c
|
|
else ifeq ($(MAKECMDGOALS),rom)
|
|
CTKCONF=NOICON
|
|
MEMORY=ROM
|
|
LOADER = 1
|
|
CONTIKI_TARGET_MAIN=contiki-loader-main.c
|
|
else ifeq ($(MAKECMDGOALS),load)
|
|
CTKCONF=NOICON
|
|
LOADER = 1
|
|
CONTIKI_TARGET_MAIN=contiki-loader-main.c
|
|
else ifeq ($(MAKECMDGOALS),server)
|
|
CTKCONF=SERVER
|
|
PLATFORM_APPS = $(PLATFORM_APPS_NETWORK)
|
|
CONTIKI_TARGET_MAIN=contiki-server-main.c
|
|
else ifeq ($(MAKECMDGOALS),client)
|
|
CTKCONF=CLIENT
|
|
PLATFORM_APPS = $(PLATFORM_APPS_NETWORK)
|
|
CONTIKI_TARGET_MAIN=contiki-client-main.c
|
|
endif
|
|
|
|
### setup default values
|
|
ifndef HEX2BIN
|
|
HEX2BINDIR = ../../tools/z80/hex2bin/
|
|
HEX2BIN = $(HEX2BINDIR)/hexameter
|
|
endif
|
|
|
|
### setup flags to be used in compiler, assembler, and HEX2BIN
|
|
PLATFORM = $(CONTIKI)/platform/$(TARGET)
|
|
CONTIKI_TARGET_DIRS = . ctk dev loader
|
|
CFLAGS += -DMEMORY_$(MEMORY) -DARCH_$(ARCH) -DCTK_$(CTKCONF)
|
|
#-Wp-includecontiki-conf.h
|
|
|
|
ifeq ($(MEMORY),16K)
|
|
LDFLAGS += --code-loc 0xc40f --data-loc 0
|
|
HEX2BINFLAGS = -d TAPE=contki $(HEX2BINDIR)/ihx/mode1.ihx -o contiki.p6
|
|
else ifeq ($(MEMORY),ROM)
|
|
LDFLAGS += --code-loc 0x4004 --data-loc 0xf000
|
|
HEX2BINFLAGS = -d ROMEXEC=4004 $(HEX2BINDIR)/ihx/rom60.ihx -b 4000 -o contiki.rom
|
|
else ifeq ($(ARCH),PC6001MK2)
|
|
LDFLAGS += --code-loc 0x800f --data-loc 0
|
|
HEX2BINFLAGS = -d TAPE=contki $(HEX2BINDIR)/ihx/mode5.ihx -o contiki2.p6
|
|
else
|
|
LDFLAGS += --code-loc 0x840f --data-loc 0
|
|
HEX2BINFLAGS = -d TAPE=contki $(HEX2BINDIR)/ihx/mode2.ihx -o contiki.p6
|
|
endif
|
|
|
|
ifeq ($(LOADER),1)
|
|
CFLAGS += -DWITH_LOADER_ARCH=1
|
|
endif
|
|
|
|
### Include platform-depend application makefiles
|
|
|
|
ifdef PLATFORM_APPS
|
|
PLATFORM_APPDIRS += ${addprefix $(PLATFORM)/apps/, $(PLATFORM_APPS)}
|
|
PLATFORM_APPINCLUDES = ${foreach APP, $(PLATFORM_APPS), $(PLATFORM)/apps/$(APP)/Makefile.$(APP)}
|
|
-include $(PLATFORM_APPINCLUDES)
|
|
PLATFORM_APP_SOURCES = ${foreach APP, $(PLATFORM_APPS), $($(APP)_src)}
|
|
PLATFORM_DSC_SOURCES = ${foreach APP, $(PLATFORM_APPS), $($(APP)_dsc)}
|
|
CONTIKI_SOURCEFILES += $(PLATFORM_APP_SOURCES) $(PLATFORM_DSC_SOURCES)
|
|
endif
|
|
|
|
CONTIKI_TARGET_SOURCEFILES = \
|
|
$(CTK) cfs-ram.c serial-line.c slip.c \
|
|
resolv.c loader_arch.c \
|
|
ctk-conio_arch.c $(CONTIKI_TARGET_MAIN)
|
|
|
|
#you can use the below instead of ctk-conio_arch.c, ctk-conio_arch-asm.cS,
|
|
# and libconio_arch-asm.cS
|
|
#ctk-conio_arch-source.c
|
|
|
|
CONTIKI_ASMFILES += getkey.S isprint_arch.S clock.S rs232-asm.S
|
|
CONTIKI_CASMFILES += ctk-conio_arch-asm.cS libconio_arch-asm.cS\
|
|
libconio_arch-small.cS
|
|
|
|
CONTIKI_SOURCEFILES += $(CONTIKI_TARGET_SOURCEFILES)
|
|
|
|
CLEAN += *.rom *.p6 *.asm
|
|
|
|
contiki: $(HEX2BIN) contiki.p6
|
|
|
|
.SUFFIXES:
|
|
|
|
%.p6: %.ihx
|
|
$(HEX2BIN) $(HEX2BINFLAGS) $< $(HEX2BINDIR)/ihx/suffix.ihx
|
|
%.rom: %.ihx
|
|
$(HEX2BIN) $(HEX2BINFLAGS) $<
|
|
|
|
$(HEX2BIN):
|
|
cd $(HEX2BINDIR); make
|
|
|
|
remove-ctk:
|
|
rm -f obj_$(TARGET)/ctk*;
|
|
rm -f contiki.ihex
|
|
remove-net:
|
|
rm -f ${addprefix obj_$(TARGET)/,uip*.o hc.o psock.o rawpacket-udp.o resolv.o slip*.o tcp*.o uaod*.o rime*.o http*.o web*.o};
|
|
rm -f contiki.ihex
|
|
remove-mt:
|
|
rm -f obj_$(TARGET)/mt*.o
|
|
rm -f contiki.ihex
|
|
|
|
### Define the CPU directory
|
|
CONTIKI_CPU=$(CONTIKI)/cpu/z80
|
|
include $(CONTIKI_CPU)/Makefile.z80
|
|
|
|
### Setup directory search path for source files
|
|
PROJECTDIRS += $(PLATFORM_APPDIRS)
|
|
|