-
Notifications
You must be signed in to change notification settings - Fork 1
/
scanfiles.cmd
59 lines (45 loc) · 1.29 KB
/
scanfiles.cmd
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
@echo off
setlocal EnableDelayedExpansion
@if exist _objs del /f _objs
echo OBJSX = \> _objs
setlocal disableDelayedExpansion
for /f "delims=" %%A in ('forfiles /s /p src /m *.cpp /c "cmd /c echo @FNAME"') do (
set "file=%%~A"
setlocal enableDelayedExpansion
set "tps= $(OBJECT_DIR)/"
set "tps2=.o \"
set tps=!tps!!file!!tps2!
echo !tps!>> _objs
endlocal
)
echo. >> _objs
setlocal enableDelayedExpansion
set lxn=
for /f "delims=" %%A in ('forfiles /s /p src /m *.cpp /c "cmd /c echo @FNAME"') do (
set "file=%%~A"
set "tps=$(OBJECT_DIR)/"
set "tps2=.o"
set tps=!tps!!file!!tps2!
set lxn=!lxn! !tps!
)
echo build_objs: !lxn!>> _objs
endlocal
echo. >> _objs
for /f "delims=" %%A in ('forfiles /s /p src /m *.cpp /c "cmd /c echo @relpath"') do (
setlocal enableDelayedExpansion
set name=
for %%F in (%%~A) do set name=%%~nxF
set name=!name:.cpp=!
set "dest=$(OBJECT_DIR)/"
set "dest2=.o"
set dest=!dest!!name!!dest2!
set "source=%%~A"
set source=!source:~2!
set "firstLine=: $(SOURCE_DIR)/"
set "secondLine1= @$(COMP) $(CFLAGS) -c $(SOURCE_DIR)/"
set "secondLine2= -o "
set "secondLine3= $(LIBS)"
echo !dest!!firstLine!!source! >> _objs
echo !secondLine1!!source!!secondLine2!!dest!!secondLine3! >> _objs
endlocal
)