Hi @ballsmahoney90,
The include path is a system path that includes various locations where a C compiler might look for headers for example if the system CFLAGS or PATH contains the directory /my/directory and inside of /my/directory there exists an "include" directory your system would have:
/my/directory/include
The C compiler would know about /my/directory so when a .c source file in your application has the directive "#include <myheader.h> the compiler will look for a file named "myheader.h" inside of /my/directory/include/ if it finds it the header will be included, if not an error will be reported.
I see you are running the "make command" as a sudo command too, this is a very bad idea as the resulting executables will all have root access and can only be executed by a root user. root also does not have the same paths as the local user so. Instead run ./configure then make without sudo and only once the application is built would you then want to do "sudo make install".
To help the C compiler find your user_settings.h you can update the CFLAG using the -I (capitol "eye" for Include) directive. For example if I have user_settings.h in /home/kaleb/work/test-location and my Makefile looks like below it won't be able to find my header:
CC=gcc
KALEBS_LIB_DIR=/home/kaleb/work/testDir/wolf-install-dir-for-testing
CFLAGS=-I$(KALEBS_LIB_DIR)/include -Wall
LIBS= -L$(KALEBS_LIB_DIR)/lib -lwolfssl
aes-file-encrypt: aes-file-encrypt.o
$(CC) -o $@ $^ $(CFLAGS) $(LIBS)
.PHONY: clean
clean:
rm -f *.o aes-file-encrypt
Now to update my Makefile so it can find my user_settings.h in /home/kaleb/work/test-location
CC=gcc
KALEBS_LIB_DIR=/home/kaleb/work/test-location
CFLAGS=-I$(KALEBS_LIB_DIR)/include -Wall
LIBS= -L$(KALEBS_LIB_DIR)/lib -lwolfssl
aes-file-encrypt: aes-file-encrypt.o
$(CC) -o $@ $^ $(CFLAGS) $(LIBS)
.PHONY: clean
clean:
rm -f *.o aes-file-encrypt
If you are trying to use a user_settings.h with the configure script I would not recommend that approach instead when using the configure script it will generate the file <wolfssl/options.h> which is the replacement for user_settings.h when building with ./configure.
Warm Regards,
K