Soc_cv_av or soc_a10 before compiling with HwLibs

Hi all, I am trying to use make command for my C program but I am getting this error. I am using EDS embedded command shell 15.1 and I am in the same directory as my C program and Makefile.

$ make
arm-linux-gnueabihf-gcc -g -Wall  -I C:/altera/15.1/embedded/ip/altera/hps/altera_hps/hwlib/include -c main.c -o main.o
In file included from main.c:5:0:
C:/altera/15.1/embedded/ip/altera/hps/altera_hps/hwlib/include/hwlib.h:56:2: error: #error You must define soc_cv_av or soc_a10 before compiling with HwLibs
 #error You must define soc_cv_av or soc_a10 before compiling with HwLibs
  ^
main.c:6:25: fatal error: socal/socal.h: No such file or directory
 #include "socal/socal.h"
                         ^
compilation terminated.
make: *** [main.o] Error 1

Here is my make file.

#
TARGET = hps_gpio

#
CROSS_COMPILE = arm-linux-gnueabihf-
CFLAGS = -g -Wall  -I ${SOCEDS_DEST_ROOT}/ip/altera/hps/altera_hps/hwlib/include
LDFLAGS =  -g -Wall 
CC = $(CROSS_COMPILE)gcc
ARCH= arm

build: $(TARGET)

$(TARGET): main.o 
	$(CC) $(LDFLAGS)   $^ -o $@ 

%.o : %.c
	$(CC) $(CFLAGS) -c $< -o $@

.PHONY: clean
clean:
	rm -f $(TARGET) *.a *.o *~

Any help please??

The code below is a good example of a Makefile for the Cyclone V SOC, developed by Joel Bodenmann.
################################################################################
# Makefile for the DE1-SoC. #
# Tested with Quartus 15 / EDS SoC 15 on Windows 10 64-Bit #
# #
# Copyright © 2015 by Joel Bodenmann joel@embedded.pro #
# #
# Feel free to use this makefile without any warranty on your own risk. #
################################################################################

    # This is the name of the binaries that will be generated
    TARGET                  = de1_soc_hps_binary
     
    # The device family (soc_cv_av = Cyclone V   ;   soc_a10 = Aria 10)
    ALT_DEVICE_FAMILY       = soc_cv_av
     
    # Some paths (Default should work)
    HWLIBS_ROOT             = ${SOCEDS_DEST_ROOT}/ip/altera/hps/altera_hps/hwlib
     
    # Here we add all *.c files that we want to compile
    CSRCS                   =
     
    # Here we add all *.cpp files that we want to compile
    CPPSRCS                 =
     
    # Here we add the paths to all include directories
    INCS                    =
     
    # Parameters for SCP upload. Set up SSH keys to bypass password prompt
    SCP_TARGET_IP           = 192.168.1.100
    SCP_USER                = root
    SCP_TARGET_PATH         = /home/root
    SCP                     = SCP
    SCP_FLAGS               =
     
    # Compiler settings
    ARCH                    = arm-linux-gnueabihf
    LD                      = $(ARCH)-g++
    CC                      = $(ARCH)-gcc
    CPPC                    = $(ARCH)-g++
    SIZE                    = $(ARCH)-size
    CFLAGS                  = -g -std=gnu99 -Wall
    CPPFLAGS                = -g -std=c++11 -Wall
    LDFLAGS                 = -g -Wall
     
    ################################################################################
    # Don't change anything below this line                                        #
    ################################################################################
     
    # Some directory and file magic
    BUILDDIR                = build
    OBJDIR                  = $(BUILDDIR)/obj
     
    # Generate the object names
    OBJS                    = $(addprefix $(OBJDIR)/,$(addsuffix .o,$(basename $(CSRCS:%.c=%.o))))
    OBJS                    += $(addprefix $(OBJDIR)/,$(addsuffix .o,$(basename $(CPPSRCS:%.cpp=%.o))))
     
    # Add some paths
    CFLAGS                  += $(INCS:%=-I%) -I$(HWLIBS_ROOT)/include -I$(HWLIBS_ROOT)/include/$(ALT_DEVICE_FAMILY) -D$(ALT_DEVICE_FAMILY)
    CPPFLAGS                += $(INCS:%=-I%) -I$(HWLIBS_ROOT)/include -I$(HWLIBS_ROOT)/include/$(ALT_DEVICE_FAMILY) -D$(ALT_DEVICE_FAMILY)
    LDFLAGS                 += $(INCS:%=-I%)
     
    # This is the default target if the user does just calls 'make'
    all: build size
     
    # Build all the files
    build: builddirs $(BUILDDIR)/$(TARGET)
     
    # Create the required directories (if not already existing)
    builddirs:
        @mkdir -p $(BUILDDIR)
        @mkdir -p $(OBJDIR)
     
    # Link everything together
    $(BUILDDIR)/$(TARGET): $(OBJS)
        @echo Linking $@
        @$(LD) $(LDFLAGS) -o $(BUILDDIR)/$(TARGET) $(OBJS)
     
    # Compile c files
    $(OBJDIR)/%.o: %.c
        @mkdir -p $(dir $@)
        @echo Compiling $^
        @$(CC) $(CFLAGS) -c -o $@ $^
     
    # Compile cpp files
    $(OBJDIR)/%.o: %.cpp
        @mkdir -p $(dir $@)
        @echo Compiling $^
        @$(CPPC) $(CPPFLAGS) -c -o $@ $^
     
    # Print size information
    size: $(BUILDDIR)/$(TARGET)
        @echo
        @echo
        $(SIZE) $^
     
    # Clean up
    clean:
        @rm -rf $(BUILDDIR) $(OBJS) $(TARGET) $(TARGET).* *.a *.o *~
        @echo Done
     
    # Clean must be a phony target so make knows this never exists as a file
    .PHONY: clean
     
    # Upload to target
    upload:
        $(SCP) $(SCP_FLAGS) $(BUILDDIR)/$(TARGET) $(SCP_USER)@$(SCP_TARGET_IP):$(SCP_TARGET_PATH

@rafael_Mello Thank you so much Rafael. Your replies always help me a lot.

Glad to know that I’m helping =)