[improve] Improve the project structure
This commit is contained in:
parent
cd6df723ad
commit
96599ae0ac
34 changed files with 86 additions and 34 deletions
8
.idea/.gitignore
vendored
Normal file
8
.idea/.gitignore
vendored
Normal file
|
@ -0,0 +1,8 @@
|
|||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
# Editor-based HTTP Client requests
|
||||
/httpRequests/
|
||||
# Datasource local storage ignored files
|
||||
/dataSources/
|
||||
/dataSources.local.xml
|
6
.idea/inspectionProfiles/Project_Default.xml
Normal file
6
.idea/inspectionProfiles/Project_Default.xml
Normal file
|
@ -0,0 +1,6 @@
|
|||
<component name="InspectionProjectProfileManager">
|
||||
<profile version="1.0">
|
||||
<option name="myName" value="Project Default" />
|
||||
<inspection_tool class="AndroidLintDuplicateStrings" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
</profile>
|
||||
</component>
|
18
.idea/misc.xml
Normal file
18
.idea/misc.xml
Normal file
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||
<component name="MakefileSettings">
|
||||
<option name="linkedExternalProjectsSettings">
|
||||
<MakefileProjectSettings>
|
||||
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||
<option name="modules">
|
||||
<set>
|
||||
<option value="$PROJECT_DIR$" />
|
||||
</set>
|
||||
</option>
|
||||
<option name="version" value="2" />
|
||||
</MakefileProjectSettings>
|
||||
</option>
|
||||
</component>
|
||||
<component name="MakefileWorkspace" PROJECT_DIR="$PROJECT_DIR$" />
|
||||
</project>
|
6
.idea/vcs.xml
Normal file
6
.idea/vcs.xml
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
82
Makefile
82
Makefile
|
@ -1,63 +1,75 @@
|
|||
# See LICENSE file for copyright and license details
|
||||
# slstatus - suckless status monitor
|
||||
.POSIX:
|
||||
|
||||
include config.mk
|
||||
|
||||
REQ = util
|
||||
COM =\
|
||||
components/battery\
|
||||
components/cpu\
|
||||
components/datetime\
|
||||
components/disk\
|
||||
components/entropy\
|
||||
components/hostname\
|
||||
components/ip\
|
||||
components/kernel_release\
|
||||
components/keyboard_indicators\
|
||||
components/keymap\
|
||||
components/load_avg\
|
||||
components/netspeeds\
|
||||
components/num_files\
|
||||
components/ram\
|
||||
components/run_command\
|
||||
components/separator\
|
||||
components/swap\
|
||||
components/temperature\
|
||||
components/uptime\
|
||||
components/user\
|
||||
components/volume\
|
||||
COM = \
|
||||
components/battery \
|
||||
components/cpu \
|
||||
components/datetime \
|
||||
components/disk \
|
||||
components/entropy \
|
||||
components/hostname \
|
||||
components/ip \
|
||||
components/kernel_release \
|
||||
components/keyboard_indicators \
|
||||
components/keymap \
|
||||
components/load_avg \
|
||||
components/netspeeds \
|
||||
components/num_files \
|
||||
components/ram \
|
||||
components/run_command \
|
||||
components/separator \
|
||||
components/swap \
|
||||
components/temperature \
|
||||
components/uptime \
|
||||
components/user \
|
||||
components/volume \
|
||||
components/wifi
|
||||
|
||||
all: slstatus
|
||||
BUILD_DIR = build
|
||||
OBJ_DIR = $(BUILD_DIR)/obj
|
||||
SRC_DIR = src
|
||||
|
||||
$(COM:=.o): config.mk $(REQ:=.h)
|
||||
slstatus.o: slstatus.c slstatus.h arg.h config.h config.mk $(REQ:=.h)
|
||||
COM_OBJ = $(COM:%=$(OBJ_DIR)/%.o)
|
||||
REQ_OBJ = $(REQ:%=$(OBJ_DIR)/%.o)
|
||||
SLSTATUS_OBJ = $(OBJ_DIR)/slstatus.o
|
||||
|
||||
.c.o:
|
||||
all: $(BUILD_DIR)/slstatus
|
||||
|
||||
$(COM_OBJ): $(OBJ_DIR)/%.o : $(SRC_DIR)/%.c $(REQ_OBJ) config.mk $(REQ:%=$(SRC_DIR)/%.h)
|
||||
@mkdir -p $(@D)
|
||||
$(CC) -o $@ -c $(CPPFLAGS) $(CFLAGS) $<
|
||||
|
||||
$(REQ_OBJ): $(OBJ_DIR)/%.o : $(SRC_DIR)/%.c $(SRC_DIR)/%.h
|
||||
@mkdir -p $(@D)
|
||||
$(CC) -o $@ -c $(CPPFLAGS) $(CFLAGS) $<
|
||||
|
||||
$(SLSTATUS_OBJ): $(SRC_DIR)/slstatus.c $(SRC_DIR)/slstatus.h $(SRC_DIR)/arg.h config.mk $(REQ_OBJ) $(REQ:%=$(SRC_DIR)/%.h)
|
||||
@mkdir -p $(@D)
|
||||
$(CC) -o $@ -c $(CPPFLAGS) $(CFLAGS) $<
|
||||
|
||||
config.h:
|
||||
cp config.def.h $@
|
||||
|
||||
slstatus: slstatus.o $(COM:=.o) $(REQ:=.o)
|
||||
$(CC) -o $@ $(LDFLAGS) $(COM:=.o) $(REQ:=.o) slstatus.o $(LDLIBS)
|
||||
$(BUILD_DIR)/slstatus: $(SLSTATUS_OBJ) $(COM_OBJ) $(REQ_OBJ)
|
||||
$(CC) -o $@ $(LDFLAGS) $(SLSTATUS_OBJ) $(COM_OBJ) $(REQ_OBJ) $(LDLIBS)
|
||||
|
||||
clean:
|
||||
rm -f slstatus slstatus.o $(COM:=.o) $(REQ:=.o)
|
||||
rm -rf $(BUILD_DIR)
|
||||
|
||||
dist:
|
||||
rm -rf "slstatus-$(VERSION)"
|
||||
mkdir -p "slstatus-$(VERSION)/components"
|
||||
cp -R LICENSE Makefile README config.mk config.def.h \
|
||||
arg.h slstatus.c $(COM:=.c) $(REQ:=.c) $(REQ:=.h) \
|
||||
slstatus.1 "slstatus-$(VERSION)"
|
||||
arg.h $(SRC_DIR)/slstatus.c $(COM:%=$(SRC_DIR)/%.c) $(REQ:%=$(SRC_DIR)/%.c) $(REQ:%=$(SRC_DIR)/%.h) \
|
||||
slstatus.1 "slstatus-$(VERSION)"
|
||||
tar -cf - "slstatus-$(VERSION)" | gzip -c > "slstatus-$(VERSION).tar.gz"
|
||||
rm -rf "slstatus-$(VERSION)"
|
||||
|
||||
install: all
|
||||
mkdir -p "$(DESTDIR)$(PREFIX)/bin"
|
||||
cp -f slstatus "$(DESTDIR)$(PREFIX)/bin"
|
||||
cp -f $(BUILD_DIR)/slstatus "$(DESTDIR)$(PREFIX)/bin"
|
||||
chmod 755 "$(DESTDIR)$(PREFIX)/bin/slstatus"
|
||||
mkdir -p "$(DESTDIR)$(MANPREFIX)/man1"
|
||||
cp -f slstatus.1 "$(DESTDIR)$(MANPREFIX)/man1"
|
||||
|
@ -66,3 +78,5 @@ install: all
|
|||
uninstall:
|
||||
rm -f "$(DESTDIR)$(PREFIX)/bin/slstatus"
|
||||
rm -f "$(DESTDIR)$(MANPREFIX)/man1/slstatus.1"
|
||||
|
||||
.PHONY: all clean dist install uninstall
|
||||
|
|
Loading…
Reference in a new issue