Mercurial > hg > toybox
annotate Makefile @ 38:b707dfcd403c
Reduce flag duplication and make kconfig use HOST_CC.
author | Rob Landley <rob@landley.net> |
---|---|
date | Sun, 26 Nov 2006 17:18:29 -0500 |
parents | 7d3f0ff39878 |
children | a43bdc6f53af |
rev | line source |
---|---|
14
f8e628f61f16
Make the config generate gen_config.h with CFG_ and USE() macros.
Rob Landley <rob@landley.net>
parents:
7
diff
changeset
|
1 # Makefile for toybox. |
f8e628f61f16
Make the config generate gen_config.h with CFG_ and USE() macros.
Rob Landley <rob@landley.net>
parents:
7
diff
changeset
|
2 # Copyright 2006 Rob Landley <rob@landley.net> |
f8e628f61f16
Make the config generate gen_config.h with CFG_ and USE() macros.
Rob Landley <rob@landley.net>
parents:
7
diff
changeset
|
3 |
31
7d3f0ff39878
Add another warning check and a missing dependency.
Rob Landley <rob@landley.net>
parents:
19
diff
changeset
|
4 CFLAGS = -Wall -Wundef -Os -s |
38
b707dfcd403c
Reduce flag duplication and make kconfig use HOST_CC.
Rob Landley <rob@landley.net>
parents:
31
diff
changeset
|
5 CC = $(CROSS_COMPILE)gcc $(CFLAGS) -funsigned-char |
b707dfcd403c
Reduce flag duplication and make kconfig use HOST_CC.
Rob Landley <rob@landley.net>
parents:
31
diff
changeset
|
6 HOST_CC = gcc $(CFLAGS) -funsigned-char |
14
f8e628f61f16
Make the config generate gen_config.h with CFG_ and USE() macros.
Rob Landley <rob@landley.net>
parents:
7
diff
changeset
|
7 |
f8e628f61f16
Make the config generate gen_config.h with CFG_ and USE() macros.
Rob Landley <rob@landley.net>
parents:
7
diff
changeset
|
8 all: toybox |
f8e628f61f16
Make the config generate gen_config.h with CFG_ and USE() macros.
Rob Landley <rob@landley.net>
parents:
7
diff
changeset
|
9 |
f8e628f61f16
Make the config generate gen_config.h with CFG_ and USE() macros.
Rob Landley <rob@landley.net>
parents:
7
diff
changeset
|
10 .PHONY: clean |
f8e628f61f16
Make the config generate gen_config.h with CFG_ and USE() macros.
Rob Landley <rob@landley.net>
parents:
7
diff
changeset
|
11 |
f8e628f61f16
Make the config generate gen_config.h with CFG_ and USE() macros.
Rob Landley <rob@landley.net>
parents:
7
diff
changeset
|
12 include kconfig/Makefile |
1
59d58fab67c6
Next snapshot. Tries to grab something out of lib in order to build, I have
landley@driftwood
parents:
diff
changeset
|
13 |
19
414625f97667
Better dependencies, and feed the linker --gc-sections. (Which is not an
Rob Landley <rob@landley.net>
parents:
14
diff
changeset
|
14 .config: Config.in toys/Config.in |
414625f97667
Better dependencies, and feed the linker --gc-sections. (Which is not an
Rob Landley <rob@landley.net>
parents:
14
diff
changeset
|
15 |
14
f8e628f61f16
Make the config generate gen_config.h with CFG_ and USE() macros.
Rob Landley <rob@landley.net>
parents:
7
diff
changeset
|
16 # The long and roundabout sed is to make old versions of sed happy. New ones |
f8e628f61f16
Make the config generate gen_config.h with CFG_ and USE() macros.
Rob Landley <rob@landley.net>
parents:
7
diff
changeset
|
17 # have '\n' so can replace one line with two without all the branches and |
f8e628f61f16
Make the config generate gen_config.h with CFG_ and USE() macros.
Rob Landley <rob@landley.net>
parents:
7
diff
changeset
|
18 # mucking about with hold space. |
f8e628f61f16
Make the config generate gen_config.h with CFG_ and USE() macros.
Rob Landley <rob@landley.net>
parents:
7
diff
changeset
|
19 gen_config.h: .config |
f8e628f61f16
Make the config generate gen_config.h with CFG_ and USE() macros.
Rob Landley <rob@landley.net>
parents:
7
diff
changeset
|
20 sed -n -e 's/^# CONFIG_\(.*\) is not set.*/\1/' \ |
f8e628f61f16
Make the config generate gen_config.h with CFG_ and USE() macros.
Rob Landley <rob@landley.net>
parents:
7
diff
changeset
|
21 -e 't notset' -e 'b tryisset' -e ':notset' \ |
f8e628f61f16
Make the config generate gen_config.h with CFG_ and USE() macros.
Rob Landley <rob@landley.net>
parents:
7
diff
changeset
|
22 -e 'h' -e 's/.*/#define CFG_& 0/p' \ |
f8e628f61f16
Make the config generate gen_config.h with CFG_ and USE() macros.
Rob Landley <rob@landley.net>
parents:
7
diff
changeset
|
23 -e 'g' -e 's/.*/#define USE_&(...)/p' -e 'd' -e ':tryisset' \ |
f8e628f61f16
Make the config generate gen_config.h with CFG_ and USE() macros.
Rob Landley <rob@landley.net>
parents:
7
diff
changeset
|
24 -e 's/^CONFIG_\(.*\)=y.*/\1/' -e 't isset' -e 'd' -e ':isset' \ |
f8e628f61f16
Make the config generate gen_config.h with CFG_ and USE() macros.
Rob Landley <rob@landley.net>
parents:
7
diff
changeset
|
25 -e 'h' -e 's/.*/#define CFG_& 1/p' \ |
f8e628f61f16
Make the config generate gen_config.h with CFG_ and USE() macros.
Rob Landley <rob@landley.net>
parents:
7
diff
changeset
|
26 -e 'g' -e 's/.*/#define USE_&(...) __VA_ARGS__/p' $< > $@ |
f8e628f61f16
Make the config generate gen_config.h with CFG_ and USE() macros.
Rob Landley <rob@landley.net>
parents:
7
diff
changeset
|
27 |
f8e628f61f16
Make the config generate gen_config.h with CFG_ and USE() macros.
Rob Landley <rob@landley.net>
parents:
7
diff
changeset
|
28 # Actual build |
f8e628f61f16
Make the config generate gen_config.h with CFG_ and USE() macros.
Rob Landley <rob@landley.net>
parents:
7
diff
changeset
|
29 |
f8e628f61f16
Make the config generate gen_config.h with CFG_ and USE() macros.
Rob Landley <rob@landley.net>
parents:
7
diff
changeset
|
30 toyfiles = main.c toys/*.c lib/*.c |
31
7d3f0ff39878
Add another warning check and a missing dependency.
Rob Landley <rob@landley.net>
parents:
19
diff
changeset
|
31 toybox: gen_config.h $(toyfiles) toys/toylist.h lib/lib.h toys.h |
38
b707dfcd403c
Reduce flag duplication and make kconfig use HOST_CC.
Rob Landley <rob@landley.net>
parents:
31
diff
changeset
|
32 $(CC) $(CFLAGS) -I . $(toyfiles) -o toybox \ |
b707dfcd403c
Reduce flag duplication and make kconfig use HOST_CC.
Rob Landley <rob@landley.net>
parents:
31
diff
changeset
|
33 -ffunction-sections -fdata-sections -Wl,--gc-sections |
14
f8e628f61f16
Make the config generate gen_config.h with CFG_ and USE() macros.
Rob Landley <rob@landley.net>
parents:
7
diff
changeset
|
34 |
f8e628f61f16
Make the config generate gen_config.h with CFG_ and USE() macros.
Rob Landley <rob@landley.net>
parents:
7
diff
changeset
|
35 clean:: |
f8e628f61f16
Make the config generate gen_config.h with CFG_ and USE() macros.
Rob Landley <rob@landley.net>
parents:
7
diff
changeset
|
36 rm -f toybox gen_config.h |
f8e628f61f16
Make the config generate gen_config.h with CFG_ and USE() macros.
Rob Landley <rob@landley.net>
parents:
7
diff
changeset
|
37 |
f8e628f61f16
Make the config generate gen_config.h with CFG_ and USE() macros.
Rob Landley <rob@landley.net>
parents:
7
diff
changeset
|
38 distclean: clean |
f8e628f61f16
Make the config generate gen_config.h with CFG_ and USE() macros.
Rob Landley <rob@landley.net>
parents:
7
diff
changeset
|
39 rm -f .config |