-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
64 lines (50 loc) · 1.67 KB
/
Makefile
File metadata and controls
64 lines (50 loc) · 1.67 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
52
53
54
55
56
57
58
59
60
61
62
63
64
export SHELL = bash
export CC = $(SHELL) $(shell type -P cosmocc)
export CXX = bash cosmoc++
export AR = bash cosmoar
export ZIPOBJ = zipobj
CFLAGS = -O2
$(cd .)
SDL_URL_WIN = https://github.com/libsdl-org/SDL/releases/download/release-2.30.2/SDL2-2.30.2-win32-x64.zip
SDL_ZIP_WIN = o/third_party/SDL/SDL-win32-x64.zip
SDL_DLL = o/third_party/SDL/SDL2.dll
SDL_DLL_ZIPO = o/third_party/SDL/SDL2.dll.zip.o
$(SDL_DLL_ZIPO): ZIPOARGS += -N SDL2.dll
$(SDL_ZIP_WIN):
@mkdir -p $(dir $@)
curl -sL -o $@ $(SDL_URL_WIN)
$(SDL_DLL): $(SDL_ZIP_WIN)
@mkdir -p $(dir $@)
unzip -q -DD -o $< SDL2.dll -d $(dir $@)
GL_INCLUDES = -Ithird_party/OpenGL-Registry/api -Ithird_party/EGL-Registry/api
o/triangle-sine.com: $(SDL_DLL_ZIPO) o/extract.o o/sdl_dynapi.o o/gl_dynapi.o
o/triangle-sine.o: CFLAGS += -Ithird_party/SDL/include
o/triangle-sine.o: CFLAGS += $(GL_INCLUDES)
o/sdl_dynapi.o: CFLAGS += -Ithird_party/SDL/include
o/gl_dynapi.o: CFLAGS += -Ithird_party/SDL/include
o/gl_dynapi.o: CFLAGS += $(GL_INCLUDES)
o/gl_dynapi.o: o/gl/glcorearb.procs.h
o/gl/%.noinc.h: third_party/OpenGL-Registry/api/GL/%.h
@mkdir -p $(dir $@)
grep -v "^#include" $< > $@.tmp
@mv $@.tmp $@
o/gl/%.exp.h: o/gl/%.noinc.h
@mkdir -p $(dir $@)
cosmocc -E -DGLAPI="" -DGL_GLEXT_PROTOTYPES $< > $@.tmp
@mv $@.tmp $@
o/gl/%.procs.h: o/gl/%.exp.h gl2proc.py
@mkdir -p $(dir $@)
python gl2proc.py $< > $@.tmp
@mv $@.tmp $@
o/%.o: %.c
@mkdir -p $(dir $@)
$(CC) $(CFLAGS) -c -o $@ $<
o/%.com: o/%.o
@mkdir -p $(dir $@)
$(CC) -o $@ $^
ls:
ls $(dir $(CC))
o/%.zip.o: o/%
@mkdir -p $(dir $@)/.aarch64
$(ZIPOBJ) $(ZIPOARGS) -a x86_64 -o $@ -C 1 $<
$(ZIPOBJ) $(ZIPOARGS) -a aarch64 -o $(dir $@)/.aarch64/$(notdir $@) -C 1 $<