All pastes #960560 Raw Edit

Untitled

public shellscript v1 · immutable
#960560 ·published 2008-03-28 06:44 UTC
rendered paste body
ifndef CONTIKI  ${error CONTIKI not defined! You must specify where CONTIKI resides!}endifOBJECTDIR = obj_$(TARGET)CFLAGS += -DCONTIKI_TARGET=$(TARGET)ifeq ($(TARGET),)  -include Makefile.target  ifeq ($(TARGET),)    ifeq ($(DEFAULT_TARGET),)      DEFAULT_TARGET=native    endif    ${info TARGET not defined, using target '$(DEFAULT_TARGET)'}    TARGET=$(DEFAULT_TARGET)  else    ${info using saved target '$(TARGET)'}  endifendififeq ($(DEFINES),)  -include Makefile.$(TARGET).defines  ifneq ($(DEFINES),)    ${info using saved defines '$(DEFINES)'}  endifendifusage:	@echo "make MAKETARGETS... [TARGET=(TARGET)] [savetarget] [targets]"targets:	@ls -1 $(CONTIKI)/platform | grep -v CVSsavetarget:	-@rm -f Makefile.target	@echo "saving Makefile.target"	@echo >Makefile.target "TARGET = $(TARGET)"savedefines:	-@rm -f Makefile.$(TARGET).defines	@echo "saving Makefile.$(TARGET).defines"	@echo >Makefile.$(TARGET).defines "DEFINES = $(DEFINES)"ifeq (${wildcard $(OBJECTDIR)},)DUMMY := ${shell mkdir $(OBJECTDIR)}endifinclude $(CONTIKI)/core/net/rime/Makefile.rimeinclude $(CONTIKI)/core/net/mac/Makefile.macSYSTEM  = process.c procinit.c autostart.c elfloader.c profile.c timetable.c timetable-aggregate.cTHREADS = mt.cLIBS    = memb.c timer.c list.c etimer.c energest.c rtimer.c print-stats.cUIP     = uip.c uiplib.c resolv.c tcpip.c psock.c hc.c uip-split.c uip-fw.c \          uip-fw-drv.c uip_arp.c tcpdump.c uip-neighbor.c uip-udp-packet.c \          uip-over-mesh.c #rawpacket-udp.cNET     = $(UIP) uaodv.c uaodv-rt.cCTK     = ctk.cCTKVNC  = $(CTK) ctk-vncserver.c libconio.c vnc-server.c vnc-out.c ctk-vncfont.cCONTIKIFILES = $(SYSTEM) $(LIBS) $(NET) $(DHCP) $(THREADS)CONTIKI_SOURCEFILES += $(CONTIKIFILES)CONTIKIDIRS += ${addprefix $(CONTIKI)/core/,dev lib net net/mac net/rime sys \                 cfs ctk lib/ctk loader . }oname = ${patsubst %.c,%.o,${patsubst %.S,%.o,$(1)}}CONTIKI_OBJECTFILES = ${addprefix $(OBJECTDIR)/,${call oname, $(CONTIKI_SOURCEFILES)}}PROJECT_OBJECTFILES = ${addprefix $(OBJECTDIR)/,${call oname, $(PROJECT_SOURCEFILES)}}### Include application makefilesifdef APPS  APPDIRS += ${addprefix $(CONTIKI)/apps/, $(APPS)}  APPINCLUDES = ${foreach APP, $(APPS), $(CONTIKI)/apps/$(APP)/Makefile.$(APP)}  -include $(APPINCLUDES)  APP_SOURCES = ${foreach APP, $(APPS), $($(APP)_src)}  DSC_SOURCES = ${foreach APP, $(APPS), $($(APP)_dsc)}  CONTIKI_SOURCEFILES += $(APP_SOURCES) $(DSC_SOURCES)endif### Include target makefile (TODO Unsafe?)include $(CONTIKI)/platform/$(TARGET)/Makefile.$(TARGET)### Forward comma-separated list of arbitrary defines to the compilerCOMMA := ,CFLAGS += ${addprefix -D,${subst $(COMMA), ,$(DEFINES)}}### Setup directory search path for source and header filesCONTIKI_TARGET_DIRS_CONCAT = ${addprefix $(CONTIKI)/platform/$(TARGET)/, \                               $(CONTIKI_TARGET_DIRS)}CONTIKI_CPU_DIRS_CONCAT    = ${addprefix $(CONTIKI_CPU)/, \                               $(CONTIKI_CPU_DIRS)}SOURCEDIRS = $(PROJECTDIRS) $(CONTIKI_TARGET_DIRS_CONCAT) \             $(CONTIKI_CPU_DIRS_CONCAT) $(CONTIKIDIRS) $(APPDIRS)vpath %.c $(SOURCEDIRS)vpath %.S $(SOURCEDIRS)CFLAGS += ${addprefix -I,$(SOURCEDIRS)}### Automatic dependency generationifneq ($(MAKECMDGOALS),clean)-include ${addprefix $(OBJECTDIR)/,$(CONTIKI_SOURCEFILES:.c=.d) \				   $(PROJECT_SOURCEFILES:.c=.d)}endifclean:	rm -f *~ *core core *.srec \	*.lst *.map \        *.cprg *.bin *.data contiki*.a *.firmware core-labels.S *.ihex *.ini \        *.ce *.co $(CLEAN)	-rm -rf $(OBJECTDIR)ifndef CUSTOM_RULE_C_TO_CE%.ce: %.c	$(CC) $(CFLAGS) -DAUTOSTART_ENABLE -c $< -o $@	$(STRIP) --strip-unneeded -g -x $@endififndef CUSTOM_RULE_C_TO_OBJECTDIR_O$(OBJECTDIR)/%.o: %.c	$(CC) $(CFLAGS) -c $< -o $@endififndef CUSTOM_RULE_S_TO_OBJECTDIR_O$(OBJECTDIR)/%.o: %.S	$(AS) $(ASFLAGS) -o $@ $<endififndef CUSTOM_RULE_C_TO_O%.o: %.c	$(CC) $(CFLAGS) -c $< -o $@endififndef CUSTOM_RULE_C_TO_CO%.co: %.c	$(CC) $(CFLAGS) -DAUTOSTART_ENABLE -c $< -o $@endififndef AROPTS  AROPTS = rcfendififndef CUSTOM_RULE_ALLOBJS_TO_TARGETLIBcontiki-$(TARGET).a: $(CONTIKI_OBJECTFILES)	$(AR) $(AROPTS) $@ $^endififndef CCDEP  CCDEP = $(CC)endififndef CDEPFLAGS  CDEPFLAGS = $(CFLAGS)endififndef CUSTOM_RULE_C_TO_OBJECTDIR_D$(OBJECTDIR)/%.d: %.c	@echo Making dependencies for $<; set -e; rm -f $@; \	$(CCDEP) -MM $(CDEPFLAGS) $< > $@.$$$$; \	sed 's,\($*\)\.o[ :]*,$(OBJECTDIR)/\1.o $@ : ,g' < $@.$$$$ > $@; \	rm -f $@.$$$$endififndef LD  LD = $(CC)endififndef CUSTOM_RULE_LINK%.$(TARGET): %.co $(PROJECT_OBJECTFILES) $(PROJECT_LIBRARIES) contiki-$(TARGET).a	$(LD) $(LDFLAGS) $(TARGET_STARTFILES) ${filter-out %.a,$^} ${filter %.a,$^} $(TARGET_LIBFILES) -o $@endif# Don't treat %.$(TARGET) as an intermediate file because it is# in fact the primary target..PRECIOUS: %.$(TARGET)# Cancel the predefined implict rule for compiling and linking# a single C source into a binary to force GNU make to consider# the match-anything rule below instead.%: %.c# Match-anything pattern rule to allow the project makefiles to# abstract from the actual binary name. It needs to contain some# command in order to be a rule, not just a prerequisite.%: %.$(TARGET)	@