author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Thu, 07 Feb 2019 15:18:41 +0000 | |
changeset 175 | a04e1a36e888 |
parent 120 | 73877848ea7f |
child 227 | 044104319ea4 |
permissions | -rw-r--r-- |
95
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
1 |
ifndef BUILD_TARGET |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
2 |
$(error "BUILD_TARGET not defined") |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
3 |
endif |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
4 |
|
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
5 |
CC= |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
6 |
ifeq ($(OS), Windows_NT) |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
7 |
OS=windows32 |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
8 |
else |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
9 |
OS=$(shell uname -s) |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
10 |
endif |
120
73877848ea7f
Added support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
11 |
CFLAGS=-ggdb3 -O0 -W -Wall -Wno-unused-parameter -I. |
95
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
12 |
CFLAGS_BIN=$(CFLAGS) |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
13 |
CFLAGS_LIB=$(CFLAGS) |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
14 |
|
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
15 |
RM = rm -f |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
16 |
RM_RF = rm -rf |
101
d8fee2af20b2
Variable objects: added support for composite types
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
17 |
MD = mkdir -p |
95
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
18 |
GREP = grep |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
19 |
|
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
20 |
ifeq ($(OS), windows32) |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
21 |
EXE = .exe |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
22 |
DLL = .dll |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
23 |
LIB = .a |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
24 |
ifeq ($(CC),) |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
25 |
CC = gcc |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
26 |
endif |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
27 |
else |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
28 |
EXE = |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
29 |
DLL = .so |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
30 |
LIB =.so |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
31 |
CC = gcc |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
32 |
|
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
33 |
endif |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
34 |
|
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
35 |
SOURCES = $(wildcard *.c) |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
36 |
SOURCES_BIN = $(shell $(GREP) -l 'main.*argc.*argv' *.c) |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
37 |
|
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
38 |
BINARIES = $(patsubst %.c,$(BUILD_TARGET)/%$(EXE),$(SOURCES_BIN)) |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
39 |
|
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
40 |
|
101
d8fee2af20b2
Variable objects: added support for composite types
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
41 |
default: $(BUILD_TARGET) $(BINARIES) |
95
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
42 |
|
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
43 |
config: |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
44 |
echo "BUILD_TARGET=$(BUILD_TARGET)" |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
45 |
echo "CC=$(CC)" |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
46 |
echo "OS=$(OS)" |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
47 |
echo "BINARIES=$(BINARIES)" |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
48 |
|
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
49 |
$(BUILD_TARGET): |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
50 |
$(MD) $(BUILD_TARGET) |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
51 |
|
120
73877848ea7f
Added support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
52 |
$(BUILD_TARGET)/%.o: %.c |
73877848ea7f
Added support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
53 |
$(CC) \ |
73877848ea7f
Added support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
54 |
$(shell if grep CFLAGS $< > /dev/null; then grep CFLAGS $< | sed -e 's/^.*CFLAGS=//g'; else echo "$(CFLAGS)"; fi) \ |
73877848ea7f
Added support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
55 |
-o $@ -c $< |
73877848ea7f
Added support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
56 |
|
101
d8fee2af20b2
Variable objects: added support for composite types
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
57 |
$(BUILD_TARGET)/%$(EXE): %.c |
120
73877848ea7f
Added support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
58 |
$(CC) \ |
73877848ea7f
Added support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
59 |
$(shell if grep CFLAGS $< > /dev/null; then grep CFLAGS $< | sed -e 's/^.*CFLAGS=//g'; else echo "$(CFLAGS_BIN)"; fi) \ |
73877848ea7f
Added support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
60 |
-o $@ $< |
95
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
61 |
|
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
62 |
clean: |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
63 |
$(RM_RF) $(BUILD_TARGET) |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
64 |
|
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
65 |
clobber: clean |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
66 |