Compile c file in Windows

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • smorehou
    New Member
    • Apr 2012
    • 1

    Compile c file in Windows

    Hi. I'm NOT a programmer. Sure I'd like to learn all this stuff someday, but for now I'd just like this to work. I've been given a c file and a makefile and some rudimentary instructions for making it... and I've spent hours on Google and installed so many tools (WinAVR, MinGW, CYGWIN) and I keep getting the same thing. Here's the make file (its pretty simple):
    Code:
    #OS ?= LINUX
    OS ?= WINDOWS
    #OS ?= MACOSX
    #OS ?= BSD
    
    ifeq ($(OS), LINUX)  # also works on FreeBSD
    CC ?= gcc
    CFLAGS ?= -O2 -Wall
    hid_bootloader_cli: hid_bootloader_cli.c
    	$(CC) $(CFLAGS) -s -DUSE_LIBUSB -o hid_bootloader_cli hid_bootloader_cli.c -lusb
    
    
    else ifeq ($(OS), WINDOWS)
    CC = i586-mingw32msvc-gcc
    CFLAGS ?= -O2 -Wall
    hid_bootloader_cli.exe: hid_bootloader_cli.c
    	$(CC) $(CFLAGS) -s -DUSE_WIN32 -o hid_bootloader_cli.exe hid_bootloader_cli.c -lhid -lsetupapi
    
    
    else ifeq ($(OS), MACOSX)
    CC ?= gcc
    SDK ?= /Developer/SDKs/MacOSX10.5.sdk
    CFLAGS ?= -O2 -Wall
    hid_bootloader_cli: hid_bootloader_cli.c
    	$(CC) $(CFLAGS) -DUSE_APPLE_IOKIT -isysroot $(SDK) -o hid_bootloader_cli hid_bootloader_cli.c -Wl,-syslibroot,$(SDK) -framework IOKit -framework CoreFoundation
    
    
    else ifeq ($(OS), BSD)  # works on NetBSD and OpenBSD
    CC ?= gcct
    CFLAGS ?= -O2 -Wall
    hid_bootloader_cli: hid_bootloader_cli.c
    	$(CC) $(CFLAGS) -s -DUSE_UHID -o hid_bootloader_cli hid_bootloader_cli.c
    
    
    endif
    
    
    clean:
    	rm -f hid_bootloader_cli hid_bootloader_cli.exe
    But whatever tool I use, it just skips the "if" stuff and runs the rm command.

    I just want to turn that c file into an exe so I can move on :(

    Thanks.
  • manontheedge
    New Member
    • Oct 2006
    • 175

    #2
    have you tried copying the file, and then in the copy, deleting everything except for whatever operating system you are on. So, if you are on Windows, only keep the Windows part in the file ...

    Code:
    CC = i586-mingw32msvc-gcc 
    CFLAGS ?= -O2 -Wall 
    hid_bootloader_cli.exe: hid_bootloader_cli.c 
        $(CC) $(CFLAGS) -s -DUSE_WIN32 -o hid_bootloader_cli.exe hid_bootloader_cli.c -lhid -lsetupapi 
        
    clean: 
        rm -f hid_bootloader_cli hid_bootloader_cli.exe
    if you were given this to run, whoever wrote it was trying to make it portable. You don't need the if-else stuff.

    Comment

    Working...