Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
Nodemcu Firmware
Commits
98c2c052
Unverified
Commit
98c2c052
authored
Jul 23, 2019
by
Terry Ellison
Committed by
GitHub
Jul 23, 2019
Browse files
Dev make cleanup (#2842)
parent
f7a545b9
Changes
56
Hide whitespace changes
Inline
Side-by-side
Makefile
View file @
98c2c052
...
...
@@ -29,14 +29,15 @@ else
endif
SDK_REL_DIR
:=
sdk/esp_iot_sdk_v
$(SDK_VER)
SDK_DIR
:=
$(TOP_DIR)
/
$(SDK_REL_DIR)
APP_DIR
:=
$(TOP_DIR)
/app
ESPTOOL_VER
:=
2.6
# Ensure that the Espresif SDK is search
ed
before
the tool-chain's SDK (if any)
#
Also, prevent
the SDK's c_types.h from being included from anywhere, by
# predefining its include-guard.
CCFLAGS
:=
-I
$(
TOP_
DIR)
/
sdk-overrides/include
-I
$(TOP_DIR)
/app/include/lwip/app
-I
$(SDK_DIR)
/include
-D_C_TYPES_H_
LDFLAGS
:=
-L
$(SDK_DIR)
/lib
-L
$(SDK_DIR)
/ld
$(LDFLAGS)
# Ensure that the Espresif SDK is search before
application paths and also prevent
# the SDK's c_types.h from being included from anywhere, by
predefining its include-guard.
CCFLAGS
:=
$(CCFLAGS)
-I
$(
P
DIR)
sdk-overrides/include
-I
$(SDK_DIR)
/include
-D_C_TYPES_H_
LDFLAGS
:=
-L
$(SDK_DIR)
/lib
-L
$(SDK_DIR)
/ld
$(LDFLAGS)
ifdef
DEBUG
CCFLAGS
+=
-ggdb
-O0
...
...
@@ -61,18 +62,18 @@ else
endif
# $(V)==1
ifndef
BAUDRATE
BAUDRATE
=
115200
BAUDRATE
=
115200
endif
#############################################################
# Select compile
#
# ** HEALTH WARNING ** This section is largely legacy directives left over from
# ** HEALTH WARNING ** This section is largely legacy directives left over from
# an Espressif template. As far as I (TerrryE) know, we've only used the Linux
# Path. I have successfully build AMD and Intel (both x86, AMD64) and RPi ARM6
# all under Ubuntu. Our docker container runs on Windows in an Ubuntu VM.
# Johny Mattson maintains a prebuild AMD64 xtensa cross-compile gcc v4.8.5
# toolchain which is compatible with the non-OS SDK and can be used on any recent
# toolchain which is compatible with the non-OS SDK and can be used on any recent
# Ubuntu version including the Docker and Travis build environments.
#
# You have the option to build your own toolchain and specify a TOOLCHAIN_ROOT
...
...
@@ -80,7 +81,7 @@ endif
# architecture is compatable then you can omit this variable and the make will
# download and use this prebuilt toolchain.
#
# If any developers wish to develop, test and support alternative environments
# If any developers wish to develop, test and support alternative environments
# then please raise a GitHub issue on this work.
#
...
...
@@ -95,39 +96,39 @@ endif
ifneq
(,$(findstring indows,$(OS)))
#------------ BEGIN UNTESTED ------------ We are not under Linux, e.g.under windows.
ifeq
($(XTENSA_CORE),lx106)
# It is xcc
AR
=
xt-ar
CC
=
xt-xcc
CXX
=
xt-xcc
NM
=
xt-nm
CPP
=
xt-cpp
OBJCOPY
=
xt-objcopy
#MAKE = xt-make
CCFLAGS
+=
--rename-section
.text
=
.irom0.text
--rename-section
.literal
=
.irom0.literal
else
# It is gcc, may be cygwin
# Can we use -fdata-sections?
CCFLAGS
+=
-ffunction-sections
-fno-jump-tables
-fdata-sections
AR
=
xtensa-lx106-elf-ar
CC
=
xtensa-lx106-elf-gcc
CXX
=
xtensa-lx106-elf-g++
NM
=
xtensa-lx106-elf-nm
CPP
=
xtensa-lx106-elf-cpp
OBJCOPY
=
xtensa-lx106-elf-objcopy
endif
FIRMWAREDIR
=
..
\\
bin
\\
ifndef
COMPORT
ESPPORT
=
com1
else
ESPPORT
=
$(COMPORT)
endif
ifeq
($(PROCESSOR_ARCHITECTURE),AMD64)
ifeq
($(XTENSA_CORE),lx106)
# It is xcc
AR
=
xt-ar
CC
=
xt-xcc
CXX
=
xt-xcc
NM
=
xt-nm
CPP
=
xt-cpp
OBJCOPY
=
xt-objcopy
#MAKE = xt-make
CCFLAGS
+=
--rename-section
.text
=
.irom0.text
--rename-section
.literal
=
.irom0.literal
else
# It is gcc, may be cygwin
# Can we use -fdata-sections?
CCFLAGS
+=
-ffunction-sections
-fno-jump-tables
-fdata-sections
AR
=
xtensa-lx106-elf-ar
CC
=
xtensa-lx106-elf-gcc
CXX
=
xtensa-lx106-elf-g++
NM
=
xtensa-lx106-elf-nm
CPP
=
xtensa-lx106-elf-cpp
OBJCOPY
=
xtensa-lx106-elf-objcopy
endif
FIRMWAREDIR
=
..
\\
bin
\\
ifndef
COMPORT
ESPPORT
=
com1
else
ESPPORT
=
$(COMPORT)
endif
ifeq
($(PROCESSOR_ARCHITECTURE),AMD64)
# ->AMD64
endif
ifeq
($(PROCESSOR_ARCHITECTURE),x86)
endif
ifeq
($(PROCESSOR_ARCHITECTURE),x86)
# ->IA32
endif
endif
#---------------- END UNTESTED ---------------- We are under windows.
else
# We are under other system, may be Linux. Assume using gcc.
...
...
@@ -141,23 +142,23 @@ else
TOOLCHAIN_ROOT
=
$(TOP_DIR)
/tools/toolchains/esp8266-
$(GCCTOOLCHAIN)
GITHUB_TOOLCHAIN
=
https://github.com/jmattsson/esp-toolchains
export
PATH
:=
$(PATH)
:
$(TOOLCHAIN_ROOT)
/bin
endif
endif
ifndef
COMPORT
ESPPORT
=
/dev/ttyUSB0
else
ESPPORT
=
$(COMPORT)
endif
CCFLAGS
+=
-ffunction-sections
-fno-jump-tables
-fdata-sections
AR
=
xtensa-lx106-elf-ar
CC
=
$(WRAPCC)
xtensa-lx106-elf-gcc
CXX
=
$(WRAPCC)
xtensa-lx106-elf-g++
NM
=
xtensa-lx106-elf-nm
CPP
=
$(WRAPCC)
xtensa-lx106-elf-gcc
-E
OBJCOPY
=
xtensa-lx106-elf-objcopy
FIRMWAREDIR
=
../bin/
endif
endif
ifndef
COMPORT
ESPPORT
=
/dev/ttyUSB0
else
ESPPORT
=
$(COMPORT)
endif
CCFLAGS
+=
-ffunction-sections
-fno-jump-tables
-fdata-sections
AR
=
xtensa-lx106-elf-ar
CC
=
$(WRAPCC)
xtensa-lx106-elf-gcc
CXX
=
$(WRAPCC)
xtensa-lx106-elf-g++
NM
=
xtensa-lx106-elf-nm
CPP
=
$(WRAPCC)
xtensa-lx106-elf-gcc
-E
OBJCOPY
=
xtensa-lx106-elf-objcopy
FIRMWAREDIR
=
../bin/
WGET
=
wget
--tries
=
10
--timeout
=
15
--waitretry
=
30
--read-timeout
=
20
--retry-connrefused
endif
...
...
@@ -221,7 +222,7 @@ CCFLAGS += \
-fno-inline-functions
\
-nostdlib
\
-mlongcalls
\
-mtext-section-literals
-mtext-section-literals
\
# -Wall
CFLAGS
=
$(CCFLAGS)
$(DEFINES)
$(EXTRA_CCFLAGS)
$(STD_CFLAGS)
$(INCLUDES)
...
...
@@ -370,7 +371,7 @@ flash1m-dout:
flashinternal
:
ifndef
PDIR
$(MAKE)
-C
./app
flashinternal
$(MAKE)
-C
$(APP_DIR)
flashinternal
else
$(ESPTOOL)
--port
$(ESPPORT)
--baud
$(BAUDRATE)
write_flash
$(FLASHOPTIONS)
0x00000
$(FIRMWAREDIR)
0x00000.bin 0x10000
$(FIRMWAREDIR)
0x10000.bin
endif
...
...
@@ -395,20 +396,20 @@ spiffs-image-remove:
spiffs-image
:
bin/0x10000.bin
$(MAKE)
-C
tools
############ Note: this target needs moving into app/modules make ############
.PHONY
:
pre_build
ifneq
($(wildcard $(TOP_DIR)/server-ca.crt),)
pre_build
:
$(
TO
P_DIR)/
app/
modules/server-ca.crt.h
pre_build
:
$(
AP
P_DIR)/modules/server-ca.crt.h
$(
TO
P_DIR)/
app/
modules/server-ca.crt.h
:
$(TOP_DIR)/server-ca.crt
$(
AP
P_DIR)/modules/server-ca.crt.h
:
$(TOP_DIR)/server-ca.crt
$(summary)
MKCERT
$(
patsubst
$(TOP_DIR)
/%,%,
$<
)
python
$(TOP_DIR)
/tools/make_server_cert.py
$(TOP_DIR)
/server-ca.crt
>
$(
TO
P_DIR)
/
app/
modules/server-ca.crt.h
python
$(TOP_DIR)
/tools/make_server_cert.py
$(TOP_DIR)
/server-ca.crt
>
$(
AP
P_DIR)
/modules/server-ca.crt.h
DEFINES
+=
-DHAVE_SSL_SERVER_CRT
=
\"
server-ca.crt.h
\"
else
pre_build
:
@
-rm
-f
$(
TO
P_DIR)
/
app/
modules/server-ca.crt.h
@
-rm
-f
$(
AP
P_DIR)
/modules/server-ca.crt.h
endif
ifdef
TARGET
...
...
@@ -484,6 +485,5 @@ endif # TARGET
# Required for each makefile to inherit from the parent
#
INCLUDES
:=
$(INCLUDES)
-I
$(PDIR)
include
-I
$(PDIR)
include/
$(TARGET)
PDIR
:=
../
$(PDIR)
sinclude
$(PDIR)Makefile
app/Makefile
View file @
98c2c052
...
...
@@ -15,8 +15,6 @@ TARGET = eagle
#FLAVOR = release
FLAVOR
=
debug
#EXTRA_CCFLAGS += -u
ifndef
PDIR
# {
GEN_IMAGES
=
eagle.app.v6.out
GEN_BINS
=
eagle.app.v6.bin
...
...
@@ -42,10 +40,10 @@ SUBDIRS= \
smart
\
modules
\
spiffs
\
net
\
net
\
fatfs
\
esp-gdbstub
\
pm
\
pm
\
uzlib
\
$(OPT_SEL_MKTARGETS)
...
...
@@ -54,19 +52,19 @@ endif # } PDIR
APPDIR
=
.
LDDIR
=
../ld
TARGET_LDFLAGS
=
\
TARGET_LDFLAGS
=
\
-nostdlib
\
-Wl
,-EL
\
--longcalls
\
--longcalls
\
--text-section-literals
LD_FILE
=
$(LDDIR)
/nodemcu.ld
COMPONENTS_eagle.app.v6
=
\
COMPONENTS_eagle.app.v6
=
\
user/libuser.a
\
crypto/libcrypto.a
\
driver/libdriver.a
\
platform/libplatform.a
\
platform/libplatform.a
\
task/libtask.a
\
libc/liblibc.a
\
lua/liblua.a
\
...
...
@@ -74,16 +72,15 @@ COMPONENTS_eagle.app.v6 = \
smart/smart.a
\
spiffs/spiffs.a
\
fatfs/libfatfs.a
\
pm/libpm.a
\
esp-gdbstub/libgdbstub.a
\
net/libnodemcu_net.a
\
mbedtls/libmbedtls.a
\
modules/libmodules.a
\
pm/libpm.a
\
esp-gdbstub/libgdbstub.a
\
net/libnodemcu_net.a
\
mbedtls/libmbedtls.a
\
modules/libmodules.a
\
smart/smart.a
\
uzlib/libuzlib.a
\
$(OPT_SEL_COMPONENTS)
# Inspect the modules library and work out which modules need to be linked.
# For each enabled module, a symbol name of the form XYZ_module_selected is
# returned. At link time those names are declared undefined, so those (and
...
...
@@ -134,27 +131,15 @@ DEPENDS_eagle.app.v6 = \
#UNIVERSAL_TARGET_DEFINES = \
# Other potential configuration flags include:
# -DTXRX_TXBUF_DEBUG
# -DTXRX_RXBUF_DEBUG
# -DWLAN_CONFIG_CCX
CONFIGURATION_DEFINES
=
-D__ets__
\
-DICACHE_FLASH
\
-DLWIP_OPEN_SRC
\
-DPBUF_RSV_FOR_WLAN
\
-DEBUF_LWIP
\
-DUSE_OPTIMIZE_PRINTF
\
-DMBEDTLS_USER_CONFIG_FILE
=
\"
user_mbedtls.h
\"
\
-DMEM_DEFAULT_USE_DRAM
DEFINES
+=
\
$(UNIVERSAL_TARGET_DEFINES)
\
$(CONFIGURATION_DEFINES)
CONFIGURATION_DEFINES
+=
-DLWIP_OPEN_SRC
D
DEFINES
+=
\
$(UNIVERSAL_TARGET_DEFINES)
\
DEFINES
+=
\
$(UNIVERSAL_TARGET_DEFINES)
\
$(CONFIGURATION_DEFINES)
DDEFINES
+=
\
$(UNIVERSAL_TARGET_DEFINES)
\
$(CONFIGURATION_DEFINES)
#############################################################
# Recursion Magic - Don't touch this!!
...
...
@@ -167,10 +152,10 @@ DDEFINES += \
#
# Required for each makefile to inherit from the parent
#
INCLUDES
:=
$(INCLUDES)
-I
$(PDIR)
include
INCLUDES
+=
-I
./
INCLUDES
:=
-I
$(PDIR)
libc
-I
$(PDIR)
lua
-I
$(PDIR)
platform
\
$(INCLUDES)
-I
$(PDIR)
-I
$(PDIR)
include
PDIR
:=
../
$(PDIR)
sinclude
$(PDIR)Makefile
.PHONY
:
FORCE
...
...
app/coap/Makefile
View file @
98c2c052
...
...
@@ -36,10 +36,6 @@ endif
# Required for each makefile to inherit from the parent
#
INCLUDES
:=
$(INCLUDES)
-I
$(PDIR)
include
INCLUDES
+=
-I
./
INCLUDES
+=
-I
../libc
INCLUDES
+=
-I
../lua
PDIR
:=
../
$(PDIR)
sinclude
$(PDIR)Makefile
app/crypto/Makefile
View file @
98c2c052
...
...
@@ -38,10 +38,6 @@ STD_CFLAGS=-std=gnu11 -Wimplicit
# Required for each makefile to inherit from the parent
#
INCLUDES
:=
$(INCLUDES)
-I
$(PDIR)
include
INCLUDES
+=
-I
./
INCLUDES
+=
-I
../libc
INCLUDES
+=
-I
../platform
PDIR
:=
../
$(PDIR)
sinclude
$(PDIR)Makefile
app/dht/Makefile
View file @
98c2c052
...
...
@@ -37,13 +37,6 @@ endif
# Required for each makefile to inherit from the parent
#
INCLUDES
:=
$(INCLUDES)
-I
$(PDIR)
include
INCLUDES
+=
-I
./
INCLUDES
+=
-I
./include
INCLUDES
+=
-I
../include
INCLUDES
+=
-I
../../include
INCLUDES
+=
-I
../libc
INCLUDES
+=
-I
../platform
PDIR
:=
../
$(PDIR)
sinclude
$(PDIR)Makefile
app/driver/Makefile
View file @
98c2c052
...
...
@@ -38,9 +38,6 @@ STD_CFLAGS=-std=gnu11 -Wimplicit
# Required for each makefile to inherit from the parent
#
INCLUDES
:=
$(INCLUDES)
-I
$(PDIR)
include
INCLUDES
+=
-I
./
INCLUDES
+=
-I
../platform
PDIR
:=
../
$(PDIR)
sinclude
$(PDIR)Makefile
app/esp-gdbstub/Makefile
View file @
98c2c052
...
...
@@ -37,8 +37,6 @@ endif
# Required for each makefile to inherit from the parent
#
INCLUDES
+=
-I
$(PDIR)
include
INCLUDES
+=
-I
./
INCLUDES
+=
-I
../../include/ets
PDIR
:=
../
$(PDIR)
sinclude
$(PDIR)Makefile
...
...
app/fatfs/Makefile
View file @
98c2c052
...
...
@@ -42,11 +42,6 @@ STD_CFLAGS=-std=gnu11 -Wimplicit -imacros $(FATFS_INC_DIR)fatfs_prefix_lib.h
# Required for each makefile to inherit from the parent
#
INCLUDES
:=
$(INCLUDES)
-I
$(PDIR)
include
INCLUDES
+=
-I
./
INCLUDES
+=
-I
../platform
INCLUDES
+=
-I
../libc
INCLUDES
+=
-I
../lua
PDIR
:=
../
$(PDIR)
sinclude
$(PDIR)Makefile
app/http/Makefile
View file @
98c2c052
...
...
@@ -38,11 +38,6 @@ STD_CFLAGS=-std=gnu11 -Wimplicit
# Required for each makefile to inherit from the parent
#
INCLUDES
:=
$(INCLUDES)
-I
$(PDIR)
include
INCLUDES
+=
-I
./
INCLUDES
+=
-I
./include
INCLUDES
+=
-I
../include
INCLUDES
+=
-I
../../include
PDIR
:=
../
$(PDIR)
sinclude
$(PDIR)Makefile
app/libc/Makefile
View file @
98c2c052
...
...
@@ -36,8 +36,6 @@ endif
# Required for each makefile to inherit from the parent
#
INCLUDES
:=
$(INCLUDES)
-I
$(PDIR)
include
INCLUDES
+=
-I
./
PDIR
:=
../
$(PDIR)
sinclude
$(PDIR)Makefile
app/lua/Makefile
View file @
98c2c052
...
...
@@ -40,12 +40,6 @@ STD_CFLAGS=-std=gnu11 -Wimplicit
# Required for each makefile to inherit from the parent
#
INCLUDES
:=
$(INCLUDES)
-I
$(PDIR)
include
INCLUDES
+=
-I
./
INCLUDES
+=
-I
../spiffs
INCLUDES
+=
-I
../libc
INCLUDES
+=
-I
../modules
INCLUDES
+=
-I
../platform
INCLUDES
+=
-I
../uzlib
PDIR
:=
../
$(PDIR)
sinclude
$(PDIR)Makefile
...
...
app/lua/luac_cross/Makefile
View file @
98c2c052
...
...
@@ -53,7 +53,7 @@ CC := $(WRAPCC) gcc
ECHO
:=
echo
BUILD_TYPE
:=
$(
shell
$(CC)
$(EXTRA_CCFLAGS)
-E
-dM
- <../../
../app/
include/user_config.h |
grep
LUA_NUMBER_INTEGRAL |
wc
-l
)
BUILD_TYPE
:=
$(
shell
$(CC)
$(EXTRA_CCFLAGS)
-E
-dM
- <../../include/user_config.h |
grep
LUA_NUMBER_INTEGRAL |
wc
-l
)
ifeq
($(BUILD_TYPE),0)
IMAGE
:=
../../../luac.cross
else
...
...
app/lwip/Makefile
View file @
98c2c052
...
...
@@ -14,9 +14,9 @@
ifndef
PDIR
UP_EXTRACT_DIR
=
..
GEN_LIBS
=
liblwip.a
COMPONENTS_liblwip
=
api/liblwipapi.a
\
app/liblwipapp.a
\
core/liblwipcore.a
\
COMPONENTS_liblwip
=
api/liblwipapi.a
\
app/liblwipapp.a
\
core/liblwipcore.a
\
core/ipv4/liblwipipv4.a
\
netif/liblwipnetif.a
endif
...
...
@@ -29,7 +29,11 @@ endif
# makefile at its root level - these are then overridden
# for a subtree within the makefile rooted therein
#
#DEFINES +=
# Other potential configuration flags include:
# -DTXRX_TXBUF_DEBUG
# -DTXRX_RXBUF_DEBUG
# -DWLAN_CONFIG_CCX
CONFIGURATION_DEFINES
+=
-DPBUF_RSV_FOR_WLAN
-DEBUF_LWIP
#############################################################
# Recursion Magic - Don't touch this!!
...
...
@@ -43,8 +47,6 @@ endif
# Required for each makefile to inherit from the parent
#
INCLUDES
:=
$(INCLUDES)
-I
$(PDIR)
include
INCLUDES
+=
-I
./
PDIR
:=
../
$(PDIR)
sinclude
$(PDIR)Makefile
app/lwip/api/Makefile
View file @
98c2c052
...
...
@@ -39,8 +39,6 @@ endif
# Required for each makefile to inherit from the parent
#
INCLUDES
:=
$(INCLUDES)
-I
$(PDIR)
include
INCLUDES
+=
-I
./
PDIR
:=
../
$(PDIR)
sinclude
$(PDIR)Makefile
app/lwip/app/Makefile
View file @
98c2c052
...
...
@@ -39,8 +39,6 @@ endif
# Required for each makefile to inherit from the parent
#
INCLUDES
:=
$(INCLUDES)
-I
$(PDIR)
include
INCLUDES
+=
-I
./
PDIR
:=
../
$(PDIR)
sinclude
$(PDIR)Makefile
app/lwip/core/Makefile
View file @
98c2c052
...
...
@@ -39,8 +39,6 @@ endif
# Required for each makefile to inherit from the parent
#
INCLUDES
:=
$(INCLUDES)
-I
$(PDIR)
include
INCLUDES
+=
-I
./
PDIR
:=
../
$(PDIR)
sinclude
$(PDIR)Makefile
app/lwip/core/ipv4/Makefile
View file @
98c2c052
...
...
@@ -39,8 +39,6 @@ endif
# Required for each makefile to inherit from the parent
#
INCLUDES
:=
$(INCLUDES)
-I
$(PDIR)
include
INCLUDES
+=
-I
./
PDIR
:=
../
$(PDIR)
sinclude
$(PDIR)Makefile
app/lwip/netif/Makefile
View file @
98c2c052
...
...
@@ -39,8 +39,6 @@ endif
# Required for each makefile to inherit from the parent
#
INCLUDES
:=
$(INCLUDES)
-I
$(PDIR)
include
INCLUDES
+=
-I
./
PDIR
:=
../
$(PDIR)
sinclude
$(PDIR)Makefile
app/mbedtls/Makefile
View file @
98c2c052
...
...
@@ -14,7 +14,9 @@
ifndef
PDIR
UP_EXTRACT_DIR
=
..
GEN_LIBS
=
libmbedtls.a
COMPONENTS_libmbedtls
=
library/liblibrary.a platform/libplatform.a app/libapp.a
COMPONENTS_libmbedtls
=
library/liblibrary.a
\
platform/libplatform.a
\
app/libapp.a
endif
...
...
@@ -26,7 +28,7 @@ endif
# for a subtree within the makefile rooted therein
#
DEFINES
+=
#CCFLAGS += --rename-section .text=.irom0.text --rename-section .literal=.irom0.literal
CONFIGURATION_DEFINES
+=
-DMBEDTLS_USER_CONFIG_FILE
=
\"
user_mbedtls.h
\"
#############################################################
# Recursion Magic - Don't touch this!!
...
...
@@ -40,8 +42,6 @@ DEFINES +=
# Required for each makefile to inherit from the parent
#
INCLUDES
:=
$(INCLUDES)
-I
$(PDIR)
include
INCLUDES
+=
-I
./
PDIR
:=
../
$(PDIR)
sinclude
$(PDIR)Makefile
app/mbedtls/app/Makefile
View file @
98c2c052
...
...
@@ -39,8 +39,6 @@ endif
# Required for each makefile to inherit from the parent
#
INCLUDES
:=
$(INCLUDES)
-I
$(PDIR)
include
INCLUDES
+=
-I
./
PDIR
:=
../
$(PDIR)
sinclude
$(PDIR)Makefile
Prev
1
2
3
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment