-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
54 lines (38 loc) · 1.48 KB
/
Copy pathMakefile
File metadata and controls
54 lines (38 loc) · 1.48 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
CXXFLAGS=-g -flto
CXXFLAGS=-O3 -s -flto
CXXFLAGS=-Os -s -flto -fno-stack-limit -ffast-math -fno-stack-protector -fno-stack-check \
-fno-asynchronous-unwind-tables -fno-exceptions -funsafe-math-optimizations -fomit-frame-pointer \
-ffunction-sections -fdata-sections -fno-math-errno -fno-unroll-loops -fmerge-all-constants \
-fno-ident -mfpmath=387 -mfancy-math-387 -Bmydir -fomit-frame-pointer -fsingle-precision-constant
LDFLAGS=-lsfml-system -lsfml-window -lsfml-graphics -lsfml-audio -Wl,--build-id=none -Wl,--hash-style=gnu \
-Wl,-z,norelro -fuse-ld=gold
SRC=src
OBJ=obj
MAIN=$(OBJ)/gui.o $(OBJ)/vector2f.o $(OBJ)/guiWindow.o
SYNTH=$(OBJ)/synth.o $(OBJ)/channel.o $(OBJ)/decode.o $(OBJ)/envelope.o $(OBJ)/filter.o $(OBJ)/effect.o
GUI=$(OBJ)/lockbutton.o $(OBJ)/element.o $(OBJ)/button.o $(OBJ)/frame.o $(OBJ)/knob.o\
$(OBJ)/vu.o $(OBJ)/slider.o $(OBJ)/label.o $(OBJ)/oscilloscope.o $(OBJ)/rotButton.o $(OBJ)/noteLabel.o
TARGETS=$(MAIN) $(GUI) $(SYNTH)
%/:
mkdir -p $@
$(OBJ)/%.o: $(SRC)/%.cpp $(OBJ)/
$(CXX) -c $(CXXFLAGS) $< -o $@
gui: $(TARGETS)
$(CXX) $(CXXFLAGS) $(LDFLAGS) $^ -o $@
chmod +x $@
wc -c $@
gui.lzma: gui
strip $< -S --strip-unneeded -R .eh_frame -R .eh_frame_hdr -R .gnu.version -R .note.ABI-tag \
-R .note.gnu.gold-version -R .comment
sstrip -z $<
wc -c $<
./opt_lzma.py $< -o $@
gui.sh: gui.lzma
cat shelldropper.sh $< > $@
gui.vdh: gui.lzma
cat vondehi $< > $@
all:gui.sh gui.vdh
chmod +x $^
wc -c $^
clean:
-rm -rfv gui gui.sh gui.vdh $(OBJ)/ *.lzma