blob: 5183e29f4c284c4684d4f5d4a92c8bcc99c5cbf0 [file] [log] [blame]
oliverschmidt902a6022005-04-27 23:39:25 +00001-include *.u
2
3.SECONDARY:
4
adamdunkels70c4c342003-04-24 17:01:17 +00005CC=cc65
6AS=ca65
7LD=ld65
8CL=cl65
oliverschmidt902a6022005-04-27 23:39:25 +00009
adamdunkelse80301f2005-06-02 17:35:47 +000010PORTDIRS=apps conf ctk lib loader uip
11CONTIKIDIRS=${addprefix $(CONTIKI)/, apps ctk ek lib uip}
oliverschmidt35973512006-04-09 15:34:11 +000012CONTIKICC65DIRS=${addprefix $(CONTIKICC65)/, apps ctk lib loader uip}
adamdunkelse80301f2005-06-02 17:35:47 +000013
14CFLAGSCC65=${addprefix -I,$(PORTDIRS)} \
15 ${addprefix -I,$(CONTIKICC65DIRS)} \
16 ${addprefix -I,$(CONTIKIDIRS)} \
17 -t $(SYS) --add-source --create-dep
oliverschmidt902a6022005-04-27 23:39:25 +000018
adamdunkels70c4c342003-04-24 17:01:17 +000019CLFLAGS=-Ln contiki-labels
oliverschmidt902a6022005-04-27 23:39:25 +000020
adamdunkels70c4c342003-04-24 17:01:17 +000021OPT=-Or
22
23%.o: %.c
adamdunkels70c4c342003-04-24 17:01:17 +000024
oliverschmidt902a6022005-04-27 23:39:25 +000025%.s: %.c
26 $(CC) $(CFLAGS) $(OPT) -o $(notdir $@) $<
adamdunkels70c4c342003-04-24 17:01:17 +000027
oliverschmidt902a6022005-04-27 23:39:25 +000028%.o: %.s
29 $(AS) $(AFLAGS) -o $@ $<
adamdunkels70c4c342003-04-24 17:01:17 +000030
adamdunkels6d7b5cb2004-09-18 20:55:12 +000031%.o: %.S
oliverschmidt902a6022005-04-27 23:39:25 +000032 $(AS) $(AFLAGS) -o $@ $<
adamdunkels6d7b5cb2004-09-18 20:55:12 +000033
adamdunkelse80301f2005-06-02 17:35:47 +000034vpath %.c $(PORTDIRS) $(CONTIKICC65DIRS) $(CONTIKIDIRS)
adamdunkels70c4c342003-04-24 17:01:17 +000035
adamdunkelse80301f2005-06-02 17:35:47 +000036vpath %.S $(PORTDIRS) $(CONTIKICC65DIRS) $(CONTIKIDIRS)
adamdunkels2aa00c92004-08-09 20:14:04 +000037
adamdunkelsecb3f9e2003-08-20 20:50:35 +000038%.sav: %.o contiki-labels.o
oliverschmidte4176ba2006-05-29 20:50:41 +000039 cl65 --module -t $(SYS) -m $(@:.sav=.map) -o $@ loader-arch-module.o $^
adamdunkelsecb3f9e2003-08-20 20:50:35 +000040
adamdunkels70c4c342003-04-24 17:01:17 +000041%.prg: %.o contiki-labels.o
oliverschmidte4176ba2006-05-29 20:50:41 +000042 cl65 --module -t $(SYS) -m $(@:.prg=.map) -o $@ loader-arch-module.o $^
adamdunkels70c4c342003-04-24 17:01:17 +000043
adamdunkels9819dca2003-04-25 08:48:25 +000044%.drv: %-drv.o contiki-labels.o
oliverschmidte4176ba2006-05-29 20:50:41 +000045 cl65 --module -t $(SYS) -m $(@:.drv=.map) -o $@ loader-arch-module.o $^
adamdunkels9819dca2003-04-25 08:48:25 +000046
adamdunkels2aa00c92004-08-09 20:14:04 +000047%.drv: %.o contiki-labels.o
oliverschmidte4176ba2006-05-29 20:50:41 +000048 cl65 --module -t $(SYS) -m $(@:.drv=.map) -o $@ loader-arch-module.o $^
adamdunkels2aa00c92004-08-09 20:14:04 +000049
adamdunkels6dbe0fd2005-02-22 22:25:26 +000050%.dsc: %-dsc.o contiki-labels.o
oliverschmidt510e6502005-05-07 13:28:47 +000051 cl65 --module -t $(SYS) -o $@ loader-arch-module-dsc.o $^
adamdunkels70c4c342003-04-24 17:01:17 +000052
adamdunkels70c4c342003-04-24 17:01:17 +000053contiki-labels.s: contiki
54 ./$(CONTIKICC65)/make-labels
55
adamdunkels70c4c342003-04-24 17:01:17 +000056clean:
oliverschmidt902a6022005-04-27 23:39:25 +000057 rm -f *.o *~ *core contiki *.map *.s *.u *.dsc *.prg *.drv *.sav contiki-labels
adamdunkels70c4c342003-04-24 17:01:17 +000058
59codesize:
60 od65 --dump-segsize *.o | egrep '\.o|CODE'