#CPPFLAGS = -DDEBUG
#CFLAGS = -g
-CFLAGS = -O3 -march=native -fno-asynchronous-unwind-tables -fdata-sections \
- -ffunction-sections -Wl,--gc-sections
+CFLAGS = -O3 -march=native -s
LDLIBS = -lcurses
DISTFILES = nnn.c strlcat.c strlcpy.c util.h config.def.h \
$(BIN): $(OBJ)
$(CC) $(CFLAGS) -o $@ $(OBJ) $(LDFLAGS) $(LDLIBS)
- strip -S --strip-unneeded --remove-section=.note.gnu.gold-version \
- --remove-section=.comment --remove-section=.note \
- --remove-section=.note.gnu.build-id --remove-section=.note.ABI-tag $(BIN)
nnn.o: util.h config.h
strlcat.o: util.h
rm -rf nnn-$(VERSION)
clean:
- rm -f config.h $(BIN) $(OBJ) nnn-$(VERSION).tar.gz
+ rm -f $(BIN) $(OBJ) nnn-$(VERSION).tar.gz
- Simplified some roundabout procedures
- `-O3` level optimization, warning fixes
- Added compilation flag `-march=native`
- - Massive binary size optimization
- Remove generated config.h on `make clean`
- strip the final binary
#ifdef DEBUG
#define DEBUG_FD 8
-#define DPRINTF_D(x) dprintf(DEBUG_FD, #x "=%d\n", x)
-#define DPRINTF_U(x) dprintf(DEBUG_FD, #x "=%u\n", x)
-#define DPRINTF_S(x) dprintf(DEBUG_FD, #x "=%s\n", x)
-#define DPRINTF_P(x) dprintf(DEBUG_FD, #x "=0x%p\n", x)
+#define DPRINTF_D(x) xprintf(DEBUG_FD, #x "=%d\n", x)
+#define DPRINTF_U(x) xprintf(DEBUG_FD, #x "=%u\n", x)
+#define DPRINTF_S(x) xprintf(DEBUG_FD, #x "=%s\n", x)
+#define DPRINTF_P(x) xprintf(DEBUG_FD, #x "=0x%p\n", x)
#else
#define DPRINTF_D(x)
#define DPRINTF_U(x)
static void printwarn(void);
static void printerr(int, char *);
-#undef dprintf
static int
-dprintf(int fd, const char *fmt, ...)
+xprintf(int fd, const char *fmt, ...)
{
char buf[BUFSIZ];
int r;