1 |
27 |
unneback |
##############################################################################
|
2 |
|
|
# Microwindows template Makefile
|
3 |
|
|
# Copyright (c) 2000, 2002 Martin Jolicoeur, Greg Haerr
|
4 |
|
|
##############################################################################
|
5 |
|
|
|
6 |
|
|
ifndef TOP
|
7 |
|
|
TOP = ../..
|
8 |
|
|
CONFIG = $(TOP)/config
|
9 |
|
|
endif
|
10 |
|
|
|
11 |
|
|
include $(CONFIG)
|
12 |
|
|
|
13 |
|
|
VPATH := $(TOP)/demos/nanox
|
14 |
|
|
|
15 |
|
|
######################## Additional Flags section ############################
|
16 |
|
|
|
17 |
|
|
# Directories list for header files
|
18 |
|
|
INCLUDEDIRS +=
|
19 |
|
|
# Defines for preprocessor
|
20 |
|
|
DEFINES +=
|
21 |
|
|
|
22 |
|
|
# Compilation flags for C files OTHER than include directories
|
23 |
|
|
CFLAGS +=
|
24 |
|
|
# Preprocessor flags OTHER than defines
|
25 |
|
|
CPPFLAGS +=
|
26 |
|
|
# Linking flags
|
27 |
|
|
LDFLAGS += -lm
|
28 |
|
|
|
29 |
|
|
############################# targets section ################################
|
30 |
|
|
|
31 |
|
|
ifeq ($(NANOX), Y)
|
32 |
|
|
ifeq ($(NANOXDEMO), Y)
|
33 |
|
|
|
34 |
|
|
# If you want to create a library with the objects files, define the name here
|
35 |
|
|
LIBNAME =
|
36 |
|
|
|
37 |
|
|
# List of objects to compile
|
38 |
|
|
ifeq ($(ARCH), ECOS)
|
39 |
|
|
OBJS = landmine.o
|
40 |
|
|
TARGETS = $(BUILD)/bin/landmine.o
|
41 |
|
|
OBJS += ntetris.o
|
42 |
|
|
TARGETS += $(BUILD)/bin/ntetris.o
|
43 |
|
|
OBJS += world.o
|
44 |
|
|
TARGETS += $(BUILD)/bin/world.o
|
45 |
|
|
else
|
46 |
|
|
OBJS = demo.o \
|
47 |
|
|
move.o \
|
48 |
|
|
landmine.o \
|
49 |
|
|
world.o \
|
50 |
|
|
nxclock.o \
|
51 |
|
|
nxterm.o \
|
52 |
|
|
nxview.o \
|
53 |
|
|
nxlsclients.o \
|
54 |
|
|
nxev.o \
|
55 |
|
|
npanel.o \
|
56 |
|
|
nterm.o \
|
57 |
|
|
demo2.o \
|
58 |
|
|
demo5.o \
|
59 |
|
|
demo6.o \
|
60 |
|
|
t1demo.o \
|
61 |
|
|
ftdemo.o \
|
62 |
|
|
logfont.o \
|
63 |
|
|
slider.o \
|
64 |
|
|
ntetris.o \
|
65 |
|
|
launcher.o \
|
66 |
|
|
nsaver.o \
|
67 |
|
|
getselection.o \
|
68 |
|
|
setselection.o
|
69 |
|
|
|
70 |
|
|
TARGETS = $(TOP)/bin/demo $(TOP)/bin/move $(TOP)/bin/landmine \
|
71 |
|
|
$(TOP)/bin/world $(TOP)/bin/nxclock $(TOP)/bin/nxterm \
|
72 |
|
|
$(TOP)/bin/nxview $(TOP)/bin/nxlsclients $(TOP)/bin/nxev \
|
73 |
|
|
$(TOP)/bin/npanel $(TOP)/bin/nterm \
|
74 |
|
|
$(TOP)/bin/demo2 $(TOP)/bin/demo5 $(TOP)/bin/demo6 \
|
75 |
|
|
$(TOP)/bin/t1demo $(TOP)/bin/ftdemo $(TOP)/bin/logfont \
|
76 |
|
|
$(TOP)/bin/slider $(TOP)/bin/ntetris $(TOP)/bin/launcher \
|
77 |
|
|
$(TOP)/bin/nsaver $(TOP)/bin/getselection $(TOP)/bin/setselection
|
78 |
|
|
endif
|
79 |
|
|
|
80 |
|
|
all: default $(TARGETS) support
|
81 |
|
|
|
82 |
|
|
support: world.map nanogui.ppm ntetris.ppm launcher.cnf tux.gif
|
83 |
|
|
$(CP) $^ $(BUILD)/bin
|
84 |
|
|
endif
|
85 |
|
|
endif
|
86 |
|
|
|
87 |
|
|
######################### Makefile.rules section #############################
|
88 |
|
|
|
89 |
|
|
include $(TOP)/Makefile.rules
|
90 |
|
|
|
91 |
|
|
ifeq ($(SHAREDLIBS), Y)
|
92 |
|
|
LD_NANOXCLIENTLIBS = $(CCNANOXCLIENTLIBS)
|
93 |
|
|
else
|
94 |
|
|
LD_NANOXCLIENTLIBS = $(NANOXCLIENTLIBS)
|
95 |
|
|
endif
|
96 |
|
|
|
97 |
|
|
######################## Tools targets section ###############################
|
98 |
|
|
|
99 |
|
|
$(BUILD)/bin/demo: demo.o $(NANOXCLIENTLIBS) $(BUILD)/config
|
100 |
|
|
$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ $(LD_NANOXCLIENTLIBS)
|
101 |
|
|
|
102 |
|
|
$(BUILD)/bin/move: move.o $(NANOXCLIENTLIBS) $(BUILD)/config
|
103 |
|
|
$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ $(LD_NANOXCLIENTLIBS)
|
104 |
|
|
|
105 |
|
|
$(BUILD)/bin/landmine: landmine.o $(NANOXCLIENTLIBS) $(BUILD)/config
|
106 |
|
|
$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ $(LD_NANOXCLIENTLIBS)
|
107 |
|
|
|
108 |
|
|
$(BUILD)/bin/world: world.o $(NANOXCLIENTLIBS) $(BUILD)/config
|
109 |
|
|
$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ $(LD_NANOXCLIENTLIBS)
|
110 |
|
|
|
111 |
|
|
$(BUILD)/bin/nxclock: nxclock.o $(NANOXCLIENTLIBS) $(BUILD)/config
|
112 |
|
|
$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ $(LD_NANOXCLIENTLIBS)
|
113 |
|
|
|
114 |
|
|
$(BUILD)/bin/nxterm: nxterm.o $(NANOXCLIENTLIBS) $(BUILD)/config
|
115 |
|
|
$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ $(LD_NANOXCLIENTLIBS)
|
116 |
|
|
|
117 |
|
|
$(BUILD)/bin/nxview: nxview.o $(NANOXCLIENTLIBS) $(BUILD)/config
|
118 |
|
|
$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ $(LD_NANOXCLIENTLIBS)
|
119 |
|
|
|
120 |
|
|
$(BUILD)/bin/nxlsclients: nxlsclients.o $(NANOXCLIENTLIBS) $(BUILD)/config
|
121 |
|
|
$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ $(LD_NANOXCLIENTLIBS)
|
122 |
|
|
|
123 |
|
|
$(BUILD)/bin/nxev: nxev.o $(NANOXCLIENTLIBS) $(BUILD)/config
|
124 |
|
|
$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ $(LD_NANOXCLIENTLIBS)
|
125 |
|
|
|
126 |
|
|
$(BUILD)/bin/npanel: npanel.o $(NANOXCLIENTLIBS) $(BUILD)/config
|
127 |
|
|
$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ $(LD_NANOXCLIENTLIBS)
|
128 |
|
|
|
129 |
|
|
$(BUILD)/bin/nterm: nterm.o $(NANOXCLIENTLIBS) $(BUILD)/config
|
130 |
|
|
$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ $(LD_NANOXCLIENTLIBS)
|
131 |
|
|
|
132 |
|
|
$(BUILD)/bin/demo2: demo2.o $(NANOXCLIENTLIBS) $(BUILD)/config
|
133 |
|
|
$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ $(LD_NANOXCLIENTLIBS)
|
134 |
|
|
|
135 |
|
|
$(BUILD)/bin/demo5: demo5.o $(NANOXCLIENTLIBS) $(BUILD)/config
|
136 |
|
|
$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ $(LD_NANOXCLIENTLIBS)
|
137 |
|
|
|
138 |
|
|
$(BUILD)/bin/demo6: demo6.o $(NANOXCLIENTLIBS) $(BUILD)/config
|
139 |
|
|
$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ $(LD_NANOXCLIENTLIBS)
|
140 |
|
|
|
141 |
|
|
$(BUILD)/bin/t1demo: t1demo.o $(NANOXCLIENTLIBS) $(BUILD)/config
|
142 |
|
|
$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ $(LD_NANOXCLIENTLIBS)
|
143 |
|
|
|
144 |
|
|
$(BUILD)/bin/ftdemo: ftdemo.o $(NANOXCLIENTLIBS) $(BUILD)/config
|
145 |
|
|
$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ $(LD_NANOXCLIENTLIBS)
|
146 |
|
|
|
147 |
|
|
$(BUILD)/bin/logfont: logfont.o $(NANOXCLIENTLIBS) $(BUILD)/config
|
148 |
|
|
$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ $(LD_NANOXCLIENTLIBS)
|
149 |
|
|
|
150 |
|
|
$(BUILD)/bin/slider: slider.o $(NANOXCLIENTLIBS) $(BUILD)/config
|
151 |
|
|
$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ $(LD_NANOXCLIENTLIBS)
|
152 |
|
|
|
153 |
|
|
$(BUILD)/bin/ntetris: ntetris.o $(NANOXCLIENTLIBS) $(BUILD)/config
|
154 |
|
|
$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ $(LD_NANOXCLIENTLIBS)
|
155 |
|
|
|
156 |
|
|
$(BUILD)/bin/launcher: launcher.o $($NANOXCLIENTLIBS) $(BUILD)/config
|
157 |
|
|
$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ $(LD_NANOXCLIENTLIBS)
|
158 |
|
|
|
159 |
|
|
$(BUILD)/bin/nsaver: nsaver.o $($NANOXCLIENTLIBS) $(BUILD)/config
|
160 |
|
|
$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ $(LD_NANOXCLIENTLIBS)
|
161 |
|
|
|
162 |
|
|
$(BUILD)/bin/getselection: getselection.o $($NANOXCLIENTLIBS) $(BUILD)/config
|
163 |
|
|
$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ $(LD_NANOXCLIENTLIBS)
|
164 |
|
|
|
165 |
|
|
$(BUILD)/bin/setselection: setselection.o $($NANOXCLIENTLIBS) $(BUILD)/config
|
166 |
|
|
$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ $(LD_NANOXCLIENTLIBS)
|
167 |
|
|
|
168 |
|
|
ifeq ($(ARCH), ECOS)
|
169 |
|
|
# Special build rules for linked in applications
|
170 |
|
|
$(BUILD)/bin/landmine.o: landmine.o
|
171 |
|
|
# $(CC) $(CFLAGS) $(LDFLAGS) $< -Wl,-r -Wl,--retain-symbols-file -Wl,landmine.syms -Wl,--defsym -Wl,landmine_main=main -o XX.o
|
172 |
|
|
$(CC) $(CFLAGS) $(LDFLAGS) $< -Wl,-r -Wl,--defsym -Wl,landmine_main=main -o XX.o
|
173 |
|
|
$(NM) XX.o | grep -v _main | grep ' T' | awk -f $(TOP)/ecos/retain.awk | xargs $(OBJCOPY) XX.o $@
|
174 |
|
|
rm -f XX.o
|
175 |
|
|
|
176 |
|
|
$(BUILD)/bin/ntetris.o: ntetris.o
|
177 |
|
|
$(CC) $(CFLAGS) $(LDFLAGS) $< -Wl,-r -Wl,--defsym -Wl,ntetris_main=main -o XX.o
|
178 |
|
|
$(NM) XX.o | grep -v _main | grep ' T' | awk -f $(TOP)/ecos/retain.awk | xargs $(OBJCOPY) XX.o $@
|
179 |
|
|
rm -f XX.o
|
180 |
|
|
|
181 |
|
|
$(BUILD)/bin/world.o: world.o
|
182 |
|
|
$(CC) $(CFLAGS) $(LDFLAGS) $< -Wl,-r -Wl,--defsym -Wl,world_main=main -o XX.o
|
183 |
|
|
$(NM) XX.o | grep -v _main | grep ' T' | awk -f $(TOP)/ecos/retain.awk | xargs $(OBJCOPY) XX.o $@
|
184 |
|
|
rm -f XX.o
|
185 |
|
|
endif
|
186 |
|
|
|