annotate examples/Makefile @ 206:eff1bb37158a last-rhepl

quick bootp fix
author jlarmour
date Tue, 14 May 2002 21:31:55 +0000
parents ead06911cbae
children df4428db3e29
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
168
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
1 # Mostly written by Jonathan Larmour, Red Hat, Inc.
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
2 # This file is in the public domain and may be used for any purpose
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
3
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
4 # PKG_INSTALL_DIR might need to be edited. Right now it is set
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
5 # assuming that a user ran pkgconf.tcl in /cygdrive/c/ecos-work on Windows NT,
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
6 # or used the Configuration Tool with C:\ecos-work as a build-tree.
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
7 #
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
8 # You can also override it on the make command-line, e.g.:
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
9 # make PKG_INSTALL_DIR=/myecc/install
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
10 # or you can set it in your environment
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
11
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
12 PKG_INSTALL_DIR = /cygdrive/c/ecos-work/install
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
13
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
14 # You must also set XCC to the name of your cross-compiler, including any
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
15 # options it needs.
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
16
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
17 # Uncomment one of the below, or invoke make with the name of the compiler
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
18 # you want, e.g.:
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
19 # make XCC="sparclite-elf-gcc -mcpu=sparclite -msoft-float"
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
20 # You can also set XCC in your environment
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
21
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
22 #XCC = mn10300-elf-gcc # MN10300/AM31
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
23 #XCC = mn10300-elf-gcc -mam33 # AM33
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
24 #XCC = mips-tx39-elf-gcc # MIPS TX39
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
25 #XCC = mips-tx49-elf-gcc -mips2 -EL # MIPS TX49 LITTLE-ENDIAN
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
26 #XCC = mips-tx49-elf-gcc -mips2 -EB # MIPS TX49 BIG-ENDIAN
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
27 #XCC = mips64vr4300-elf-gcc -mgp32 -EB # MIPS VR4300
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
28 #XCC = sh-elf-gcc -m3 -mb # SH3 BIG-ENDIAN
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
29 #XCC = sh-elf-gcc -m3 -ml # SH3 LITTLE-ENDIAN
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
30 #XCC = powerpc-eabi-gcc -msoft-float -mcpu=860 # POWERPC
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
31 #XCC = arm-elf-gcc -mcpu=arm7di # AEB
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
32 #XCC = arm-elf-gcc -mcpu=arm7tdmi # PID7
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
33 #XCC = arm-elf-gcc -mcpu=arm7tdmi -mbig-endian # PID7 BIG-ENDIAN
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
34 #XCC = arm-elf-gcc -mcpu=arm9 # PID9
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
35 #XCC = thumb-elf-gcc -mthumb-interwork # PID7 THUMB
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
36 #XCC = thumb-elf-gcc -mthumb-interwork -mbig-endian # PID7 THUMB BIG-ENDIAN
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
37 #XCC = arm-elf-gcc -mcpu=arm710c -D__CL7111 # CIRRUS LOGIC CL7111
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
38 #XCC = arm-elf-gcc -mcpu=arm7tdmi -D__EDB7211 # CIRRUS LOGIC EDB7211
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
39 #XCC = arm-elf-gcc -mcpu=arm7tdmi -D__EDB7209 # CIRRUS LOGIC EDB7209
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
40 #XCC = arm-elf-gcc -mcpu=arm7tdmi -D__EDB7209 -D__EDB7212 # CIRRUS LOGIC EDB7212
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
41 #XCC = arm-elf-gcc -mcpu=arm7tdmi # ARM COGENT CMA230
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
42 #XCC = arm-elf-gcc -mcpu=arm7tdmi -D__CMA222 # ARM COGENT CMA222
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
43 #XCC = thumb-elf-gcc # ARM COGENT CMA230 THUMB
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
44 #XCC = arm-elf-gcc -mcpu=strongarm # EBSA285
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
45 #XCC = arm-elf-gcc -mcpu=strongarm1100 # ASSABET/BRUTUS
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
46 #XCC = sparclite-elf-gcc -msoft-float -mcpu=sparclite # SPARCLITE
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
47 #XCC = i686-pc-linux-gnu-gcc # SYNTHETIC LINUX
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
48 #XCC = i386-elf-gcc # i386 PC
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
49 #XCC = v850-elf-gcc # NEC v850
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
50
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
51 ###### VARIABLES
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
52 # Any of these can be overriden on the command-line or in your environment
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
53
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
54 ifeq ($(findstring sh-elf-gcc,$(XCC)),sh-elf-gcc)
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
55 CFLAGS = -ggdb
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
56 else
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
57 CFLAGS = -g
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
58 endif
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
59
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
60 CXXFLAGS = $(CFLAGS)
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
61
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
62 EXTRACFLAGS = -Wall -I$(PKG_INSTALL_DIR)/include -ffunction-sections -fdata-sections
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
63
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
64 EXTRACXXFLAGS = $(EXTRACFLAGS) -fno-exceptions -fno-rtti -fvtable-gc -finit-priority
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
65
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
66 LDFLAGS = -nostartfiles -L$(PKG_INSTALL_DIR)/lib -Wl,--gc-sections
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
67 LIBS = -Ttarget.ld -nostdlib
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
68
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
69 LD = $(XCC)
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
70 XCXX = $(XCC)
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
71
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
72 ###### RULES
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
73
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
74 .PHONY: all clean CCCHECK
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
75
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
76 all: hello twothreads simple-alarm serial
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
77
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
78 clean:
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
79 -rm -f hello hello.o twothreads twothreads.o
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
80 -rm -f simple-alarm simple-alarm.o serial serial.o
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
81 -rm -f instrument-test instrument-test.o
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
82
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
83 CCCHECK:
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
84 ifeq ($(XCC),)
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
85 @echo You must set XCC to the name of your cross-compiler
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
86 @false
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
87 endif
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
88
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
89
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
90 %.o: %.c
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
91 $(XCC) -c -o $*.o $(CFLAGS) $(EXTRACFLAGS) $<
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
92
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
93 %.o: %.cxx
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
94 $(XCXX) -c -o $*.o $(CXXFLAGS) $(EXTRACXXFLAGS) $<
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
95
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
96 %.o: %.C
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
97 $(XCXX) -c -o $*.o $(CXXFLAGS) $(EXTRACXXFLAGS) $<
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
98
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
99 %.o: %.cc
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
100 $(XCXX) -c -o $*.o $(CXXFLAGS) $(EXTRACXXFLAGS) $<
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
101
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
102 hello: CCCHECK hello.o
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
103 $(LD) $(LDFLAGS) -o $@ $@.o $(LIBS)
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
104
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
105 twothreads: CCCHECK twothreads.o
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
106 $(LD) $(LDFLAGS) -o $@ $@.o $(LIBS)
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
107
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
108 simple-alarm: CCCHECK simple-alarm.o
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
109 $(LD) $(LDFLAGS) -o $@ $@.o $(LIBS)
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
110
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
111 serial: CCCHECK serial.o
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
112 $(LD) $(LDFLAGS) -o $@ $@.o $(LIBS)
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
113
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
114 instrument-test: CCCHECK instrument-test.o
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
115 $(LD) $(LDFLAGS) -o $@ $@.o $(LIBS)
ead06911cbae Add up-to-date examples
jlarmour
parents:
diff changeset
116