summaryrefslogtreecommitdiff
path: root/sc/Makefile
blob: 6ec1cc322657a8d33ab1e422fdc4fa15cfa1cc07 (plain) (blame)
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
.POSIX:
target = sc
includes = -I../cfg -I../qstd -Iglslang
cflags = $(includes) -Wall -Wextra -pedantic -std=c++20 $(DEBUG_COMPILE_FLAG)
lflags = \
	$(DEBUG_LINK_FLAG) \
	-Lglslang/build/glslang \
	-Lglslang/build/SPIRV \
	-Lglslang/build/glslang/OSDependent/Unix \
	-Lglslang/build/External/spirv-tools/source \
	-Lglslang/build/External/spirv-tools/source/link \
	-Lglslang/build/External/spirv-tools/source/opt \
	-L../qstd \
	-L../cfg \
	-lcfg \
	-lqstd \
	-lglslang \
	-lglslang-default-resource-limits \
	-lSPIRV \
	-lMachineIndependent \
	-lSPVRemapper \
	-lOSDependent \
	-lGenericCodeGen \
	-lSPIRV-Tools-link \
	-lSPIRV-Tools-opt \
	-lSPIRV-Tools

objects = sc.o includer.o

.PHONY: all clean

all: $(target)

sc.o: sc.cpp includer.hpp sh_enums.h
	$(CXX) -c $(cflags) sc.cpp -o sc.o

includer.o: includer.cpp includer.hpp
	$(CXX) -c $(cflags) includer.cpp -o includer.o

$(target): $(objects) ../qstd/libqstd.a ../cfg/libcfg.a
	$(CXX) $(objects) $(lflags) -o $(target)

../qstd/libqstd.a:
	$(MAKE) -C ../qstd

../cfg/libcfg.a:
	$(MAKE) -C ../cfg

clean:
	rm -f $(target)
	rm -f $(objects)