-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmakefile
More file actions
51 lines (37 loc) · 1.06 KB
/
makefile
File metadata and controls
51 lines (37 loc) · 1.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
TARGET = julia
CC = gcc
CFLAGS = -std=c11 -O3 -march=native -Wall -Wextra
IGNOREFLAGS = -Wno-unused-parameter -Wno-unused-variable -Wno-return-type
INFLAGS = -Iinc -Idisplay -Icore -Isrc
UNAME_S := $(shell uname -s)
ifeq ($(UNAME_S),Linux)
OS_TYPE = LINUX
else ifeq ($(UNAME_S),Darwin)
OS_TYPE = MACOS
else ifeq ($(findstring CYGWIN_NT,$(UNAME_S)),CYGWIN_NT)
OS_TYPE = CYGWIN
else ifeq ($(findstring MINGW,$(UNAME_S)),MINGW)
OS_TYPE = MINGW
else
OS_TYPE = UNKNOWN_UNIX
endif
ifeq ($(OS_TYPE),MINGW)
IFLAGS = -I"C:/msys64/include" -I"C:/msys64/include/GL" -I./include -Iinc
LDFLAGS = -lopengl32 -lglu32 -lfreeglut -lm
OUT = julia.exe
else
IFLAGS = -I./include -Iinc
LDFLAGS = -lGL -lGLU -lglut -lm
OUT = julia
endif
SRC = $(wildcard src/*.c) $(wildcard display/*.c) $(wildcard core/*.c)
# IGNOREFLAGS ON
all:
$(CC) $(CFLAGS) $(IGNOREFLAGS) $(IFLAGS) $(SRC) -o $(OUT) $(LDFLAGS)
run:
./$(OUT)
clean:
rm -f $(OUT)
.PHONY: debug
debug:
$(CC) -g $(CFLAGS) $(IGNOREFLAGS) $(IFLAGS) $(SRC) -o $(OUT) $(LDFLAGS) && gdb ./$(OUT)