blob: dd8813f518180ebeddbabcf01befe2fb4aefc316 [file] [log] [blame]
adamdunkels3e4e02e2004-06-06 07:02:44 +00001# Copyright (c) 2002-2004, Adam Dunkels.
adamdunkels1103ef92003-04-02 09:17:18 +00002# All rights reserved.
3#
4# Redistribution and use in source and binary forms, with or without
5# modification, are permitted provided that the following conditions
6# are met:
7# 1. Redistributions of source code must retain the above copyright
8# notice, this list of conditions and the following disclaimer.
9# 2. Redistributions in binary form must reproduce the above copyright
10# notice, this list of conditions and the following disclaimer in the
11# documentation and/or other materials provided with the distribution.
adamdunkels3e4e02e2004-06-06 07:02:44 +000012# 3. The name of the author may not be used to endorse or promote
adamdunkels1103ef92003-04-02 09:17:18 +000013# products derived from this software without specific prior
14# written permission.
15#
16# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
17# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
20# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
22# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
24# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
25# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27#
28# This file is part of the Contiki desktop environment
29#
oliverschmidtf5480c42005-04-19 22:18:48 +000030# $Id: Makefile,v 1.18 2005/04/19 22:18:48 oliverschmidt Exp $
adamdunkels1103ef92003-04-02 09:17:18 +000031#
32
adamdunkelsc8132342005-02-27 13:18:50 +000033all: contiki
34
adamdunkels1103ef92003-04-02 09:17:18 +000035CONTIKI=../contiki
adamdunkelsc8132342005-02-27 13:18:50 +000036SDIRS = apps conf ctk lib uip
37CSDIRS = ${addprefix $(CONTIKI)/,apps ctk ek lib uip}
38
oliverschmidt42c10a22005-04-18 22:45:46 +000039include $(CONTIKI)/Makefile.common
adamdunkelsc8132342005-02-27 13:18:50 +000040-include Makefile.depend
41
adamdunkels1103ef92003-04-02 09:17:18 +000042CC=gcc
adamdunkelsd4805502003-08-20 22:37:45 +000043CFLAGS=-Wall -Wstrict-prototypes -Wmissing-prototypes \
adamdunkelsc8132342005-02-27 13:18:50 +000044 -g \
45 ${addprefix -I,$(CSDIRS)} \
46 ${addprefix -I,$(SDIRS)} \
adamdunkels3e4e02e2004-06-06 07:02:44 +000047 `pkg-config --cflags gtk+-2.0`\
adamdunkels1103ef92003-04-02 09:17:18 +000048 -DWITH_ETHERNET -DWITH_TAPDEV -DWITH_ASCII \
adamdunkelsd4805502003-08-20 22:37:45 +000049 -DWITH_WWW -DWITH_EMAIL -DWITH_UIP \
adamdunkels3e4e02e2004-06-06 07:02:44 +000050 -DWITH_CTKGTK
adamdunkels31c72a42004-08-11 21:23:29 +000051LDFLAGS= `pkg-config --libs gtk+-2.0`
adamdunkels1103ef92003-04-02 09:17:18 +000052
adamdunkelsc8132342005-02-27 13:18:50 +000053vpath %.c ${SDIRS} $(CSDIRS) ${filter-out CVS,${wildcard labs/*}}
54
adamdunkels1103ef92003-04-02 09:17:18 +000055%.o: %.c
56 $(CC) $(CFLAGS) -c $(<:.o=.c)
adamdunkels1103ef92003-04-02 09:17:18 +000057
adamdunkels16a7b262004-07-04 21:15:53 +000058CTKGTK=ctk-gtksim.o ctk-draw.o ctk-gtksim-service.o libconio.o ctk-gtksim-draw.o
adamdunkels31c72a42004-08-11 21:23:29 +000059CTKVNC=ctk-vncserver.o libconio.o vnc-server.o vnc-out.o ctk-vncfont.o
60CTKTERM=libconio.o ctk-term.o ctk-term-in.o ctk-term-out.o ctk-termtelnet.o
adamdunkels1103ef92003-04-02 09:17:18 +000061
adamdunkelsc8132342005-02-27 13:18:50 +000062POP=pop.o popc.o popc-strings.o
63
adamdunkels16a7b262004-07-04 21:15:53 +000064contiki: contiki-main.o ek.o arg.o ek-service.o \
adamdunkels31c72a42004-08-11 21:23:29 +000065 tcpip.o uip.o uip_arch.o uip-fw.o uip-split.o \
adamdunkelsc8132342005-02-27 13:18:50 +000066 timer.o uiplib.o resolv.o resolv.o uipbuf.o \
67 cfs.o cfs-posix.o codeprop.o \
adamdunkels16a7b262004-07-04 21:15:53 +000068 tapdev-service.o tapdev.o uip_arp.o uip-fw.o uip-fw-service.o \
oliverschmidtcef53c52005-04-18 23:09:53 +000069 ctk.o $(CTKGTK) program-handler.o \
70 $(FTP) ftp-dsc.o \
71 $(EDITOR) editor-dsc.o \
72 $(WWW) www-dsc.o \
oliverschmidtf5480c42005-04-19 22:18:48 +000073 $(SHELL_) shell-dsc.o \
oliverschmidtcef53c52005-04-18 23:09:53 +000074 $(DHCP) dhcp-dsc.o \
75 processes.o processes-dsc.o \
76 calc.o calc-dsc.o \
77 about.o about-dsc.o \
78 netconf.o netconf-dsc.o \
79 $(TELNET) $(EMAIL) $(IRC) $(VNCVIEWER) $(WEBSERVER) \
adamdunkelsecfbccd2004-09-01 20:43:19 +000080# sock-httpd.o socket.o list.o filecache.o \
adamdunkels16a7b262004-07-04 21:15:53 +000081# program-handler.o about.o netconf.o processes.o \
82# about-dsc.o netconf-dsc.o processes-dsc.o \
83# $(CTKGTK) \
84# ctk.o dispatcher.o arg.o \
85# uip.o uip_arch.o uip_arp.o uip-signal.o resolv.o uipbuf.o uip-split.o uip-fw.o\
86# uiplib.o tapdev.o tapdev-drv.o $(WEBSERVER) $(WWW) \
adamdunkels3e4e02e2004-06-06 07:02:44 +000087# mailget.o popclient.o nntpc.o nntpc-strings.o \
88# newslog.o nntpd.o nntpd-strings.o\
89# $(EMAIL) email-dsc.o $(WEBSERVER) $(TELNET) telnet-dsc.o \
90# vnc.o vnc-viewer.o vnc-draw.o \
91# calc.o calc-dsc.o \
92# $(WWW) telnetd.o telnetd-dsc.o shell.o memb.o\
93# mt.o mtarch.o mtp.o \
94# coderecv.o\
adamdunkels714ec1f2003-09-04 19:20:07 +000095 #maze.o maze-dsc.o
adamdunkels1103ef92003-04-02 09:17:18 +000096 gcc $(LDFLAGS) -o $@ $^
97
98clean:
99 rm -f *.o *~ *core contiki *.s
100
101depend:
adamdunkelsc8132342005-02-27 13:18:50 +0000102 gcc $(CCDEPFLAGS) -MM \
103 ${addprefix -I,$(CSDIRS)} \
104 ${addprefix -I,$(SDIRS)} \
105 ${addsuffix /*.c, $(CSDIRS)} \
106 ${addsuffix /*.c, $(SDIRS)} \
107 *.c > Makefile.depend
adamdunkels1103ef92003-04-02 09:17:18 +0000108