I don't understand why i have this error, because i have one main, not duplicate.
Code: Select all
zcc +cpm -vn -O3 -compiler=sdcc -pragma-define:CRT_HEAP_AMALLOC=1 -Iinclude -o obj/cmnuvga.o -c src/cmnuvga.c
zcc +cpm -vn -O3 -compiler=sdcc -pragma-define:CRT_HEAP_AMALLOC=1 -Iinclude -o obj/menu.o -c src/menu.c
zcc +cpm -vn -O3 -compiler=sdcc -pragma-define:CRT_HEAP_AMALLOC=1 -Iinclude -o obj/app.o -c src/app.c
zcc +cpm -vn -O3 -compiler=sdcc -pragma-define:CRT_HEAP_AMALLOC=1 -Iinclude -o obj/cpmkey.o -c src/cpmkey.c
zcc +cpm -vn -O3 -compiler=sdcc -pragma-define:CRT_HEAP_AMALLOC=1 -Iinclude -o obj/gui.o -c src/gui.c
zcc +cpm -vn -O3 -compiler=sdcc -pragma-define:CRT_HEAP_AMALLOC=1 -Iinclude -o obj/input.o -c src/input.c
zcc +cpm -vn -O3 -compiler=sdcc -pragma-define:CRT_HEAP_AMALLOC=1 -Iinclude -o obj/cpmconio.o -c src/cpmconio.c
zcc +cpm -vn -O3 -compiler=sdcc -pragma-define:CRT_HEAP_AMALLOC=1 -Iinclude src/cmnuvga.c obj/cmnuvga.o obj/menu.o obj/app.o obj/cpmkey.o obj/gui.o obj/input.o obj/cpmconio.o -create-app -obin/cmnuvga.com
obj/cmnuvga.asm: error: duplicate definition: cmnuvga_c::_main
make: *** [cmnuvga] Error 1
Code: Select all
SHELL=cmd
RUNCPM_PATH=D:/EMULATOR/RUNCPM/B/0/
PNAME=cmnuvga
SRCDIR=src
OBJDIR=obj
BINDIR=bin
CC=zcc +cpm -vn -O3
MAINSRC = $(SRCDIR)/$(PNAME).c
# These are the sources that must be compiled to .rel files:
SRCS = \
src/cmnuvga.c \
src/menu.c \
src/app.c \
src/cpmkey.c \
src/gui.c \
src/input.c \
src/cpmconio.c
OBJS = $(SRCS:$(SRCDIR)/%.c=$(OBJDIR)/%.o)
INCLUDES = -Iinclude
CFLAGS = -compiler=sdcc -pragma-define:CRT_HEAP_AMALLOC=1
# This just provides the conventional target name "all"; it is optional
# Note: I assume you set PNAME via some means not exhibited in your original file
all: $(PNAME)
# How to build the overall program
$(PNAME): $(MAINSRC) $(OBJS)
$(CC) $(CFLAGS) $(INCLUDES) $(MAINSRC) $(OBJS) -create-app -o$(BINDIR)/$(PNAME).com
$(OBJDIR)/%.o: $(SRCDIR)/%.c
$(CC) $(CFLAGS) $(INCLUDES) -o $@ -c $<
#$(CC) $(CFLAGS) $(INCLUDES) -o $@ -c $<
# Suffixes appearing in suffix rules we care about.
# Necessary because .rel is not one of the standard suffixes.
.SUFFIXES: .c .o
clean:
$(RM) $(OBJDIR)/*.o $(BINDIR)/*.com $(SRCDIR)/*.asm
Thanks for your help.